今天在開發的時候遇到后臺返回的這種時間格式?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];
.
隨手記錄,不喜勿噴。