Я конвертирую дату в соответствии с часовым поясом, и у меня есть еще одно требование - формат даты. Теперь я получаю дату в формате 12/15/14, 5:00 AM, но я хочу ее в формате «18 ноября 2014 года в 5:15 вечера». Я не получаю надлежащего вывода в соответствии с моим форматом даты. Возможно ли это в «Objective C» .My код:формат даты не работает должным образом
-(NSString *)dateFormater : (NSString *)dateStr
{
//NSString *dateStr = @"2014-11-30T21:25:00+00:00";
NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];
[dateFormatter1 setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssz"];
// [dateFormatter1 setDateFormat:@"dd MMM,yyyy'T'HH:mm:ssz"];
NSDate *date = [dateFormatter1 dateFromString:dateStr];
NSLog(@"date : %@",date);
NSTimeZone *currentTimeZone = [NSTimeZone localTimeZone];
NSTimeZone *utcTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"UTC"];
NSInteger currentGMTOffset = [currentTimeZone secondsFromGMTForDate:date];
NSInteger gmtOffset = [utcTimeZone secondsFromGMTForDate:date];
NSTimeInterval gmtInterval = currentGMTOffset - gmtOffset;
NSDate *destinationDate = [[NSDate alloc] initWithTimeInterval:gmtInterval sinceDate:date];
NSDateFormatter *dateFormatters = [[NSDateFormatter alloc] init];
// [dateFormatters setDateFormat:@"dd-MMM-yyyy hh:mm"];
[dateFormatters setDateFormat:@"dd MMM, yyyy hh:mm a"];
[dateFormatters setDateStyle:NSDateFormatterShortStyle];
[dateFormatters setTimeStyle:NSDateFormatterShortStyle];
[dateFormatters setDoesRelativeDateFormatting:YES];
[dateFormatters setTimeZone:[NSTimeZone systemTimeZone]];
dateStr = [dateFormatters stringFromDate: destinationDate];
NSLog(@"DateString : %@", dateStr);
return dateStr;
}
Большое спасибо за ответ. Я попробовал ваше решение, но он отправляет пустую строку, когда я удаляю эти две строки. У вас есть другое решение для моего формата даты. – chaaruu
Ваше редактирование работает. Большое спасибо. – chaaruu