在我summarydict
,我有一种被称为全date_generated
,它看起来像:09月22日下午2:33,我想将它转换成一个NSDate
,这样我可以在以后给它成重复计时器。NSDateFormatter设置日期至1970年
因此,这里是我的代码:
ALog(@"Last update time is: %@", [[summarydict objectForKey:@"root"]objectForKey:@"date_generated"]);
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLenient:YES];
[dateFormatter setDateFormat:@"MM dd, h:mm a"];
[dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"America/New_York"]];
NSDate *date = [dateFormatter dateFromString:[[summarydict objectForKey:@"root"]objectForKey:@"date_generated"]];
ALog(@"Using timezone: %@", [dateFormatter timeZone]);
ALog(@"Last updated time: %@", date);
ALog(@"Current time: %@", [NSDate dateWithTimeIntervalSinceNow:0]);
ALog(@"Next update time: %@", [date dateByAddingTimeInterval:600]);
这里就是我的了:
Last update time is: Sep 22, 2:33 PM
Using timezone: America/New_York (EDT) offset -14400 (Daylight)
Last updated time: 1970-09-22 18:33:00 +0000
Current time: 2011-09-22 18:43:05 +0000
Next update time: 1970-09-22 18:43:00 +0000
我明白NSLog
(我的考勤记录)不关心timezoon,因此通过显示其作为GMT timezoon是好的,但我怎么能让formatter
认为我有Sep 22,2:33 PM是本年度?我有[dateFormatter setLenient:YES];
但它不起作用。
谢谢!
简单的方法:添加一年的字符串。 – Nekto