Я сделал приложение для календаря для iPhone, в котором у меня есть дата в строчном формате (например, "Tue, 25 мая 2010 г. 12:53:58 +0000" ).
Я хочу преобразовать это в NSDate
.
Что мне нужно использовать для этого?
Я сделал приложение для календаря для iPhone, в котором у меня есть дата в строчном формате (например, "Tue, 25 мая 2010 г. 12:53:58 +0000" ).
Я хочу преобразовать это в NSDate
.
Что мне нужно использовать для этого?
Взгляните на ссылку класса для NSDateFormatter. Вы используете его следующим образом:
NSString *dateStr = @"Tue, 25 May 2010 12:53:58 +0000";
// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EE, d LLLL yyyy HH:mm:ss Z"];
NSDate *date = [dateFormat dateFromString:dateStr];
[dateFormat release];
Дополнительные сведения о настройке NSDateFormatter см. В этом справочном руководстве.
РЕДАКТИРОВАТЬ:
Просто, чтобы вы знали, это будет проанализировать полное название месяца. Если вам нужны имена в течение трех букв, используйте LLL
вместо LLLL
.
-(NSString *)dateToFormatedDate:(NSString *)dateStr {
NSString *finalDate = @"2014-10-15";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormatter dateFromString:dateStr];
[dateFormatter setDateFormat:@"EE, d MMM, YYYY"];
return [dateFormatter stringFromDate:date];
}
Если вы сохраняете даты в одном из стилей iOS, гораздо проще и с меньшей вероятностью использовать этот метод:
// Define a date formatter for storage, full style for more flexibility
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterFullStyle];
[dateFormatter setTimeStyle:NSDateFormatterFullStyle];
// Use today as an example
NSDate *today = [NSDate date];
// Format to a string using predefined styles
NSString *dateString = [dateFormatter stringFromDate:today];
// Format back to a date using the same styles
NSDate *todayFromString = [dateFormatter dateFromString:dateString];
NSString *[email protected]"2017-05-25";
NSDateFormatter *dateFormatter=[NSDateFormatter alloc]init];
[dateFormatter setDateFormatter:@"MM-dd-yyyy"];
NSDate *date =[[NSDate alloc]init];
date=[datFormatter dateFromString:dateString];