将时间转换为12小时格式

时间:2010-12-08 11:18:04

标签: iphone nstimer

请告诉我如何将时间转换为12小时格式..
我有一个字符串,我已经转换为日期,但它是24小时格式....

4 个答案:

答案 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"];