我从服务器收到一串日期,并尝试根据我的时区格式化它。但它不起作用! 我做了什么:
NSString *dateStr = data.createdDate;
NSDate *old = [dateFormatter dateFromString:dateStr];
其中date.createdDate
是我从服务器收到的值及其格式为:
2016-05-13 11:38:21.0
所以我以这样的方式创建了我的dateFormatter
:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy.MM.dd HH:mm:ss.0";
[dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];
输出:
从服务器收到的值:2016-05-13 11:38:21.0
当前时间是2016.05.13 19:19:15.0
当前日期格式的旧时间:2016-05-13 04:38:21 +0000
我现在处于GMT + 7时区。服务器的时间是GMT + 0,所以GMT + 7的时间应该是18:38:21
答案 0 :(得分:-1)
所以我做了什么,我为GMT 0创建了一个dateformatter并且在同一时区内转换了两个时间:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy.MM.dd HH:mm:ss.0";
[dateFormatter setTimeZone:[NSTimeZonetimeZoneWithAbbreviation:@"GMT"]];
NSString *dateStr = data.createdDate;
NSDate *old = [dateFormatter dateFromString:dateStr];