请告诉我如何将时间转换为12小时格式..
我有一个字符串,我已经转换为日期,但它是24小时格式....
答案 0 :(得分:4)
您可以使用24小时时钟格式而不是12小时格式。因此在格式字符串中使用带有H的NSDateFormatter。使用其中一种预定义格式最终将使用您的系统本地化,这可能是12小时格式。
NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
[inputFormatter setDateFormat:@"HH:mm"];
这里使用正则表达式提出另一种解决方案:
24hr to 12hr time convert, insert character to string
答案 1 :(得分:3)
考虑到你有一个小时的int命名时间......
if(时间> 12) 时间=时间-12;
答案 2 :(得分:2)
当你说你把它转换成约会时,你的意思是什么?你的意思是你在NSDate
对象中拥有它吗?如果是,则日期为24小时日期格式不。 NSDate
并不关心日期在屏幕上的显示方式。
格式化来自您的本地化设置。它应该是怎样的。我不希望12小时格式的时间超过你想要的24小时。
但是要直接回答这个问题,如果要覆盖默认值,则可能必须编写自己的格式代码。当我从第三方数据源收到日期时,我必须这样做以解决NSDateFormatter
中的错误。
答案 3 :(得分:0)
要将日期格式从12小时更改为24小时或从24更改为12,只需将hh:mm更改为HH:mm格式,其中h为12小时,H为24小时。 请记住更改您的位置。
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"HH:mm"];