NSDate变为零

时间:2017-10-06 06:42:38

标签: ios objective-c nsdate nsdateformatter

当我将设备时间更改为24小时格式时,NSDate变为零。

NSString *stampStr = @"10/6/2017 8:57:44 AM";
NSDateFormatter *oldFormatter = [NSDateFormatter new];
[oldFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSTimeZone *tz = [NSTimeZone timeZoneForSecondsFromGMT:10800]; // GMT+3
[oldFormatter setTimeZone:tz];
NSDate *oldDate = [oldFormatter dateFromString:stampStr];

但在iPhone设备中更改为12小时格式时,它可以正常工作。

1 个答案:

答案 0 :(得分:0)

您需要设置locale

NSDateFormatter
oldFormater.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];