// MARK: - 将本地时间转换为UTC时间
- (NSString *)obtainUTCDateStringWithLocalDateString:(NSString *)localTimeString {
NSDateFormatter *format = [[NSDateFormatter alloc] init];
format.dateFormat = @"yyyy-MM-dd HH:mm:ss";
format.timeZone = [NSTimeZone localTimeZone];
NSDate *localDate = [format dateFromString:localTimeString];
format.timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
format.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
NSString *utcDateString = [format stringFromDate:localDate];
return utcDateString;
}
// MARK: - 将UTC时间转换为本地时间
- (NSString *)obtainLocalDateStringWithUTCDateString:(NSString *)utcStr {
NSDateFormatter *format = [[NSDateFormatter alloc] init];
format.timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
format.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
NSDate *utcDate = [format dateFromString:utcStr];
format.dateFormat = @"yyyy-MM-dd HH:mm:ss";
format.timeZone = [NSTimeZone localTimeZone];
NSString *localTime = [format stringFromDate:utcDate];
return localTime;
}
调用示例:
NSString *time = @"2021-03-15 14:09:50";
NSString *utcDate = [self obtainUTCDateStringWithLocalDateString:time];
NSString *localTime = [self obtainLocalDateStringWithUTCDateString:utcDate];
NSLog(@"utcDate=%@------localTime:%@", utcDate, localTime);
/*
log: utcDate=2021-03-15T06:09:50.000Z------localTime:2021-03-15 14:09:50
*/