gpt4 book ai didi

ios - 区域设置敏感的dateFormat字符串

转载 作者:行者123 更新时间:2023-12-01 18:24:37 25 4
gpt4 key购买 nike

NSDateFormatter是否有日期格式字符串,该字符串将检测基于12或24和1或0的小时格式?

除非我读错了,否则Unicode规范说,为此可以使用'j'。例如,以下内容应使用1-12、0-23或1-24小时,具体取决于语言环境,但是NSDateFormatter只会创建一个空字符串。

NSDateFormatter *minuteFormatter = [[NSDateFormatter alloc] init];
minuteFormatter.locale = [NSLocale currentLocale];
minuteFormatter.dateFormat = @"jj";

我已经看到很多建议使用以下内容正确解释用户的语言环境,但是我只想要一个带有小时的字符串,而不必解析结果字符串。
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateStyle:NSDateFormatterNoStyle];
[dateFormatter setTimeStyle:NSDateFormatterLongStyle];

最佳答案

来自date format specs:

这是一个特殊用途的符号。它一定不能出现在图案数据或骨架数据中。相反,它保留用于传递给API的框架中,以进行灵活的日期模式生成。在这种情况下,它会根据语言环境的标准短时间格式是否使用h,H,K或k来确定语言环境(h,H,K或k)的首选小时格式。在此类API的实现中,在开始与availableFormats数据进行匹配之前,必须用h,H,K或k替换'j'。请注意,在传递给API的框架中使用'j'是使框架请求语言环境的首选时间周期类型(12小时或24小时)的唯一方法。

这可能意味着需要先解决它,然后才能进行日期格式化。

尝试使用+ (NSString *)dateFormatFromTemplate:(NSString *)template options:(NSUInteger)opts locale:(NSLocale *)locale检索格式字符串。

NSString *format = [NSDate dateFormatFromTemplate:@"jj" options:0 locale: myLocale];
hourFormatter.dateFormat = format;

关于ios - 区域设置敏感的dateFormat字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14610355/

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