如何使用iPhone SDK将TimeStyle AM/PM设置为小写
如何将AM/PM时间样式设置为小写?我正在使用以下代码,根据苹果的文档,这应该以小写形式返回这些值,但它没有如何使用iPhone SDK将TimeStyle AM/PM设置为小写,iphone,datetime,formatting,Iphone,Datetime,Formatting,如何将AM/PM时间样式设置为小写?我正在使用以下代码,根据苹果的文档,这应该以小写形式返回这些值,但它没有 [_detailsTimeFormatter setTimeStyle:NSDateFormatterShortStyle]; 我不知道为什么苹果的示例显示am/PM是小写的,但很容易将日期字符串改为小写: NSDateFormatter *detailsTimeFormatter = [[NSDateFormatter alloc] init]; [detailsTimeFormat
[_detailsTimeFormatter setTimeStyle:NSDateFormatterShortStyle];
我不知道为什么苹果的示例显示am/PM是小写的,但很容易将日期字符串改为小写:
NSDateFormatter *detailsTimeFormatter = [[NSDateFormatter alloc] init];
[detailsTimeFormatter setTimeStyle:NSDateFormatterShortStyle];
NSLog(@"%@",[[detailsTimeFormatter stringFromDate:[NSDate date]] lowercaseString]);
您可以按如下方式更改NSDateFormatter上的AM和PM符号:
[dateFormatter setAMSymbol:@"am"];
[dateFormatter setPMSymbol:@"pm"];
或使用Swift:
formatter.amSymbol = "am"
formatter.pmSymbol = "pm"
谢谢,它工作得很好。奇怪的是,文档显示了错误的输出。我还发现,在12小时模式下,在下午1:49的一小时前有一个前导零。令人恼火的是,我还不知道如何移除它。它似乎与设备系统设置有关,因为顶部的时钟是相同的,它不在模拟器上。@Jim,有点晚了,但如果要设置自定义日期格式(尽管有点不鼓励),例如:
date.dateFormat=@“h:mm a”
你会自动得到小时的一位数或两位数。这很古老,但你认为有没有办法去除h:mm
和a
之间的空格,并使用NSDateFormatter
保持小写的am/pm?Tom,我也无法理解这一点,所以我只是像这样手动执行:result=[result stringByReplacingOccurrencesOfString:@“PM”with string:@“PM”];结果=[result stringByReplacingOccurrencesOfString:@“AM”和字符串:@“AM”]
@arigold-你有没有遇到问题的代码?我删除了评论-我在搜索中发布了它,然后才意识到字体没有任何小写字母。不过,感谢你的登录。选择的答案似乎比这更好,可以让格式化程序随心所欲。在亚洲语言中,虽然可以理解“am”/“pm”,但可能会使用不同的字符。因此,另一种方法是在本地化时,让苹果想放的任何东西都作为AM/PM。因此,选择的是一个更稳健的选择,如果这样的事情现在或将来实现…@AndresCanella如果特别是AM/PM需要小写(如问题中所问),那么,考虑到您的观点,更好的解决方案是从日期格式化程序请求AM/PM符号,将其小写,然后使用它来设置符号。使用被接受的答案,你可以把你不想做的事情小写。当然,这完全取决于格式化程序在做什么。@michaelslater这是个好主意。