我在PDT(太平洋夏令时),这是UTC后面-0700小时。我正在使用NSDateFormatter
解析时间字符串,下午4:00,然后创建日期:
NSDateFormatter *df = [[NSDateFormatter alloc] init];
NSDate *aDate = [[NSDate alloc] init];
[df setDateFormat:@"h:mm a"];
aDate = [df dateFromString:@"4:00 PM"];
aDate
返回:1970-01-02 00:00:00 +0000。但是,我希望它能够返回:1970-01-01 23:00:00 +0000,因为下午4点应该是23:00 UTC。
检查日期格式化程序时区将返回正确的(PDT)时区,即:America / xxx(PDT)偏移-25200(日光)
有人知道这里发生了什么吗?在此先感谢您的帮助...
答案 0 :(得分:2)
如果没有指定日期,您将使用PST,而不是PDT。再次尝试:
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"EEE, d LLL yyyy hh:mm a"];
NSDate *aDate = [df dateFromString:@"Sat, 21 Apr 2012 04:00 PM"];
NSLog(@"date=%@", aDate);