我试图在iOS中返回“H:mm”的setDateFormat的本地化形式。
大多数本地化都会返回24小时表单,但对于日语本地化,它会返回存在AM / PM的字符串(显然是汉字形式)。
根据这个:http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns,'H'将返回24小时形式的时间,并且它适用于其他东亚本地化(测试韩语和中文本地化)。
有人可以提供有关iOS显示AM / PM的原因的见解,即使我没有指定它显示日语本地化吗?
谢谢。
答案 0 :(得分:3)
您可以分享一些关于如何设置/获取日语本地化的源代码吗?
这是我得到的:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"H:mm"];
NSDate *date = // some time after noon
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en"]];
NSLog(@"en: %@", [formatter stringFromDate:date]);
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"ja"]];
NSLog(@"jp: %@", [formatter stringFromDate:date]);
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"ko"]];
NSLog(@"ko: %@", [formatter stringFromDate:date]);
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"]];
NSLog(@"cn: %@", [formatter stringFromDate:date]);
显示:
en: 14:06
jp: 14:06
ko: 14:06
cn: 14:06
或使用默认的格式化程序样式,并重新运行它:
[formatter setDateStyle:NSDateFormatterShortStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
结果:
en: 1/21/11 2:13 PM
jp: 11/01/21 14:06
ko: 11. 1. 21. 오후 2:06
cn: 11-1-21 下午2:06
答案 1 :(得分:0)
检查设置 - >常规 - >日期和时间是否将24小时时间设置为开启