NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyyMMddHHmmss"];//SSS a
NSString *dateStr = [dateFormatter stringFromDate: [NSDate date]];
NSLog(@"%@", dateStr);
iPhone15.4以上手机意外的输出 am/pm
其实只要设置下面2个,就能完美解决
dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
//或者 [NSLocale systemLocale]
dateFormatter.calendar = [NSCalendar calendarWithIdentifier: NSCalendarIdentifierGregorian];
https://developer.apple.com/library/archive/qa/qa1480/_index.html
红框里的内容指出,用户手动修改日历、修改12/24小时制都会导致Dateformatter输出不同的结果
这段话的意思是,如果你把日期转成字符串是希望展示给用户看的,那么使用用户设置的时间格式和日历是合理的,但是如果你是希望把日期返回给后端处理或者归档,那么就应该使用固定格式的日期字符串