gpt4 book ai didi

iOS 10 错误? NSDate 小时描述与日本地区和 24 小时休假

转载 作者:搜寻专家 更新时间:2023-10-30 20:24:15 24 4
gpt4 key购买 nike

这似乎是 iOS 10 的错误。在 iOS 8 和 9 中是可以的。

[NSDate date].description 的小时描述错误。它附加了 24 小时描述和 12 小时描述。我没有使用 NSDateFormatter。只是默认设置。

在真实的 iOS 10 设备上,在“设置”中:

  • 在“设置”>“通用”>“语言与区域”>“区域格式”>“区域”中将区域设置为日本
  • 在“设置”>“通用”>“日期和时间”>“24 小时制”中设置 24 小时制关闭

然后:

NSLog(@"Date is %@", [NSDate date].description);

实际日志输出:

Date is 2016-11-14 44:14:57 AM +0000

预期输出:

Date is 2016-11-14 4:14:57 AM +0000

编辑(添加另一个示例):

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-MM-dd hh:mm:ss a";
NSString *dateString = @"1985-04-12 7:20:50 PM";
NSDate *date = [dateFormatter dateFromString:dateString];
NSLog(@"Date is %@", date.description);

实际输出:

Date is 1985-04-12 1010:20:50 AM +0000

预期输出

Date is 1985-04-12 10:20:50 AM +0000

如果我将小时格式更改为 24 小时格式 (HH):

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss a";
NSString *dateString = @"1985-04-12 7:20:50 PM";
NSDate *date = [dateFormatter dateFromString:dateString];
NSLog(@"Date is %@", date.description);

实际输出:

Date is (null)

预期输出:

Date is 1985-04-12 10:20:50 AM +0000

最佳答案

我们也遇到了 iOS 10.x 的类似问题,并使用

修复了它

NSLocale *POSIXLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]; dateFormatter.locale 应该等于(POSIXLocale);

关于iOS 10 错误? NSDate 小时描述与日本地区和 24 小时休假,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40581850/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com