需要以下代码的帮助:
self.dateTimestamp = userInfo[@"timestamp"];<- Returns UTC Time April 09 2018 11:09
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMMM dd YYYY HH:mm"];
[dateFormat setTimeZone:[NSTimeZone systemTimeZone]];
[dateFormat setCalendar:[NSCalendar currentCalendar]];
NSDate *dte = [dateFormat dateFromString:self.dateTimestamp];
NSLog(@"Date: %@", dte); <-Date: Sun Dec 24 11:09:00 2017
为什么我的日期存在差异。
最佳答案
只需将 YYYY
替换为 yyyy
:
NSString *dateTimestamp = @"April 09 2018 13:07";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMMM dd yyyy HH:mm"];
[dateFormat setTimeZone:[NSTimeZone systemTimeZone]];
[dateFormat setCalendar:[NSCalendar currentCalendar]];
NSDate *dte = [dateFormat dateFromString:dateTimestamp];
NSLog(@"Date: %@", dte);
结果:2018 年 4 月 9 日星期一 13:07:00
但是使用时
[dateFormat setDateFormat:@"MMMM dd YYYY HH:mm"];
正在记录:2017 年 12 月 24 日星期日 13:07:00
关于objective-c - ObjC Date 始终返回 2017 年 12 月 25 日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49731756/