iOS 关于部分不常见 时间格式转换
今天在开发的时候遇到后台返回的这种时间格式 2020-12-31T07:19:53.000Z
T表示分隔符,Z表示的是UTC。
UTC:世界标准时间,在标准时间上加上8小时,即东八区时间,也就是北京时间。
我们想把时间时间转为本地时间(东八区时间)就需要加上8个小时
NSString* updatedAt =@“2020-12-31T07:19:53.000Z”;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//需要设置为和字符串相同的格式
[dateFormattersetDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"];
NSDate*localDate = [dateFormatterdateFromString:updatedAt];
//我们也可以规定一定使用某一个时区
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formattersetDateFormat:@"yyyy-MM-dd HH:mm:ss"];
formatter.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];//东八区时间
//这样不管我们的手机是在哪里,打印出来的时间都是东八区的时间
// formatter.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Tokyo"];//东九区时间
// formatter.timeZone = [NSTimeZone timeZoneWithName:@"GMT"];//零区时间
// formatter.timeZone = [NSTimeZone timeZoneWithName:@"UTC"];//零区时间,和GMT一样
NSString*dateStr = [formatterstringFromDate:localDate];
.
随手记录,不喜勿喷。