gpt4 book ai didi

ios - NSDateFormatter 结果与 apple.cn 截图不同

转载 作者:行者123 更新时间:2023-11-29 10:37:09 25 4
gpt4 key购买 nike

iPhone http://apple.com/iphoneesoteric reasons 的状态栏中显示 9:41 AM .我正在尝试为我的应用制作本地化的屏幕截图,所以我咨询了 http://apple.com/cn/iphone ,他们始终使用 上午 9:41。但是,当我使用 -AppleLanguages 标志将语言环境设置为 zh-Hanszh-Hant 时,NSDateFormatter吐出 9:41 上午。这是我正在使用的代码:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSString *originalLocale = dateFormatter.locale;
dateFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_US"];
[dateFormatter setDateFormat:@"h:mm a"];
NSDate *date = [dateFormatter dateFromString:@"9:41 AM"];
dateFormatter.locale = originalLocale;

NSString *dateString = [dateFormatter stringFromDate:date];

此代码在 en_US 中生成正确的格式,但在 zh-Hant 中生成错误的格式。有没有办法获得 @"h:mm a" 的本地化版本,而不是针对每种语言对其进行硬编码?

最佳答案

不要设置 dateFormat,设置 timeStyle 以访问适当的内置格式。 NSDateFormatterMediumStyle 对我来说很合适。如果您需要,还有 dateStyle

因此,示例代码:

NSDateFormatter *newformatter = [NSDateFormatter new];
newformatter.locale = [NSLocale localeWithLocaleIdentifier:@"zh-Hant"];
newformatter.timeStyle = NSDateFormatterMediumStyle;
NSLog(@"%@", [newformatter stringFromDate:[NSDate date]]);

输出:

上午12:10:40

关于ios - NSDateFormatter 结果与 apple.cn 截图不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26321963/

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