// 获取本机时间
NSDate *nowDate = [[NSDate alloc] init];
// String -> Date
NSString *dateStr = @"2022-09-13 00:00:00";
NSDateFormatter*dateFormatter0 = [[NSDateFormatteralloc]init];
dateFormatter0.dateFormat=@"yyyy-MM-dd HH:mm:ss";
// 代表 2022-09-13 01:00:00 是 Asia/Shanghai 时区的时间
dateFormatter0.timeZone= [NSTimeZonetimeZoneWithName:@"Asia/Shanghai"];
// noID_date 为本机时间,如果本机是 Asia/Shanghai 时区,则 noID_date 为 2022-09-13 00:00:00
// 如果本机是 America/New_York 时区(西四区),则noID_date 为 2022-09-12 12:00:00
NSDate*noID_date = [dateFormatter0dateFromString:dateStr];
// Date -> String
NSDateFormatter *dateFormatter0 = [[NSDateFormatter alloc] init];
dateFormatter0.dateFormat = @"yyyy-MM-dd HH:mm:ss";
dateFormatter0.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];
// 本机时间
NSDate *nowDate = [[NSDate alloc] init];
// 如果本机是 Asia/Shanghai 时区,则 nowDate 打印的数值和 dateStr2一致
/*
如果本机是 America/New_York 时区(西四区),则 nowDate 比 dateStr2 小12小时
例如:
nowDate:Tue Sep 13 03:07:41 2022
dateStr2:“2022-09-13 15:07:41”
*/
NSString *dateStr2 = [dateFormatter0 stringFromDate:nowDate];
注意:NSDate只能获取到本机时间!
网友评论