Я написал функцию, которая преобразует текущее время utc-gmt или gmt -utc. Функции просто отлично работают, если msgArrivedDate имеет значение NULL. Если это не так (это значит, msgArrivedDate приходит от отдыха службы, дозы, не превращатьGMT и формат UTC с NSDateFormatter
JSon синтаксического анализа части:.
NSArray *messageSentTime = [[args valueForKey:@"messageSendDate"] objectAtIndex:0];
for(int i=0 ;i< [messageSentTime count]; i++)
{
//[self timeZoneFormatter:@"GMT" :[messageSentTime objectAtIndex:i]];
NSLog(@"Converted time = %@",[self timeZoneFormatter:@"GMT" :[messageSentTime objectAtIndex:i]]);
Функция часть:
-(id)timeZoneFormatter:(NSString *)formatType : (NSString *)msgArrivedDate
{
NSDate *date;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
if([msgArrivedDate length] > 0)
{
date = [dateFormatter dateFromString:msgArrivedDate];
} else {
date = [NSDate date];
}
if([formatType isEqualToString:@"UTC"])
{
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
}
if([formatType isEqualToString:@"GMT"])
{
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];
}
NSString *dateString = [dateFormatter stringFromDate:date];
return dateString;
}
ReST вернул меня к этим значениям в UTC формат:
"2013-09-24 15:03:17", "2013-09-25 12:09:22", "2013-09-25 13:07:45", "2013-09-25 13:08:19", "2013-09-25 14:22:38"
Когда я вызвать функцию, (NSLog(@"Converted time = %@",[self timeZoneFormatter:@"GMT" :[messageSentTime objectAtIndex:i]]))
возвращается:
messageSentTime = (
"2013-09-24 15:03:17",
"2013-09-25 12:09:22",
"2013-09-25 13:07:45",
"2013-09-25 13:08:19",
"2013-09-25 14:22:38")
Я думаю, что я просто не хватает немного вопрос по поводу здесь :(пока не смог найти ...
UTC и GMT - это то же самое время. – neilco
UTC и GMT - это просто параметр, который я использовал в функции, GMT означает, что в моей области = NSTimeZone localTimeZone, UTC = NSTimeZone timeZoneWithAbbreviation: @ "UTC"], который отлично работает с нулевым параметром по моей функции –
Не используйте GMT значит что-то не так. Используйте LCL или некоторые из них для обозначения местного времени. –