【问题标题】:NSDate becomes nilNSDate 变为 nil
【发布时间】:2017-10-06 06:42:38
【问题描述】:

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

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 小时格式时效果很好。

【问题讨论】:

标签: ios objective-c nsdate nsdateformatter


【解决方案1】:

您需要设置NSDateFormatterlocale

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 2013-09-07
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多