我一直在使用以下代码格式化日期值:
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setLocale:[NSLocale systemLocale]];
[dateFormat setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
NSDate *myDate = [dateFormat dateFromString:@"2014-03-06 06:42:21"];
此处myDate
对象值对于不同的设备是不同的。无论设备如何,如何使myDate
对象值相同。
答案 0 :(得分:0)
您需要将日期格式化程序的语言环境设置为en_US_POSIX的特殊语言环境。
[dateFormat setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"]];
答案 1 :(得分:-1)
您想手动设置NSTimeZone
和NSLocale
以确保相同的结果。
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en"]];
[dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
[dateFormat setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
NSDate *myDate = [dateFormat dateFromString:@"2014-03-06 06:42:21"];
答案 2 :(得分:-2)
当我改变年份信件时,我得到了答案如下(yyyy):
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];