iOS:时间format之后被加了8小时(UTC)

2019-02-20  本文已影响0人  远方有田

1.时间format问题

接口返回的一个正确的时间,通过YYKit的NSObject+YYModel将返回的数据转为了model,而其中的时间直接转为了NSDate格式。

但是通过打印

DLog(@"%@",recordModel.createTime);

DLog(@"%@",[recordModel.createTime stringWithFormat:@"yyyy.MM.dd HH:mm:ss"]);

发现返回的时间分别为

2019-02-20 09:25:42 +0000

2019.02.20 17:25:42

第一个时间是正确的,但是format之后的时间不正确,被加上了8小时。

这个时候进行format需要加上UTC。

将format的语句写成

DLog(@"%@",[recordModel.createTime stringWithFormat:@"yyyy.MM.dd HH:mm:ss"timeZone:[NSTimeZone timeZoneWithName:@"UTC"] locale:nil]);

即可。

上面的这些内容依赖于YYKit

或者写成这样的

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formattersetDateFormat:@"yyyy.MM.dd HH:mm:ss"];

[formattersetTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];

DLog(@"%@",[formatter stringFromDate:recordModel.createTime]);

上一篇 下一篇

猜你喜欢

热点阅读