日期格式化程序未在ios

时间:2016-05-13 12:28:14

标签: ios date

我从服务器收到一串日期,并尝试根据我的时区格式化它。但它不起作用! 我做了什么:

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

1 个答案:

答案 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];