如何使用iPhone SDK将TimeStyle AM/PM设置为小写

Jim*_*Jim 26 iphone formatting datetime

如何将AM/PM时间样式设置为小写?我正在使用以下代码,根据Apple的文档,这应该将这些值作为小写返回,但事实并非如此.

[_detailsTimeFormatter setTimeStyle:NSDateFormatterShortStyle];
Run Code Online (Sandbox Code Playgroud)

mic*_*ter 153

您可以更改NSDateFormatter上的AM和PM符号,如下所示:

[dateFormatter setAMSymbol:@"am"];
[dateFormatter setPMSymbol:@"pm"];
Run Code Online (Sandbox Code Playgroud)

  • 这很有效 - 应该是公认的答案. (5认同)
  • @AndresCanella如果它特别是需要小写的AM/PM(如问题中所述)那么,考虑到你的观点,一个更好的解决方案是从日期格式化器请求AM/PM符号,小写它和用它来设置符号.使用接受的答案,你可以小写你不想要的东西.当然,这完全取决于格式化程序在做什么. (3认同)
  • 选择的答案似乎比这更好,让格式化程序按照自己的意愿行事.在亚洲语言中,虽然理解"am"/"pm",但可以使用不同的字符.所以另一种方法是让苹果想要在本地化时把它作为AM/PM.所以选择的是更强大的选择,如果这样的事情现在实施或将来可能...... (2认同)

ger*_*ry3 24

我不确定为什么Apple的例子显示小写的AM/PM,但很容易使日期字符串小写:

NSDateFormatter *detailsTimeFormatter = [[NSDateFormatter alloc] init];
[detailsTimeFormatter setTimeStyle:NSDateFormatterShortStyle];
NSLog(@"%@",[[detailsTimeFormatter stringFromDate:[NSDate date]] lowercaseString]);
Run Code Online (Sandbox Code Playgroud)

  • @Jim它有点晚了,但如果你要设置一个自定义日期格式(虽然它是温和的气馁),如:`date.dateFormat = @"h:mm a";`你得到自动单或 - 小时的两位数. (2认同)