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

.

随手记录,不喜勿喷。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容