2010-12-08 133 views

回答

2

当你说你已经将它转换成日期,你是什么意思?你的意思是你在NSDate的对象中有吗?如果是这样,日期是而不是在24小时日期格式。屏幕上显示日期的方式不涉及自己。

格式化来自您的本地化设置。这应该如何。我不希望24小时内以12小时的格式出现超过你想要的时间。

但要直接回答问题,如果您想覆盖默认值,您可能必须编写自己的格式代码。当我收到来自第三方数据源的日期时,我必须这样做来解决NSDateFormatter中的错误。

3

考虑您有一个名为一个小时的时间INT ...

如果(时间> 12) 的时间= 12;

3

您可以使用24小时制格式而不是12小时格式。因此,在格式字符串中使用带H的NSDateFormatter。使用其中一种预定义的格式将最终使用您的系统本地化,这可能是12小时格式。

NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init]; 
[inputFormatter setDateFormat:@"HH:mm"]; 

另一个解决方案是这里提出使用正则表达式:
24hr to 12hr time convert, insert character to string

0

从12至24小时更改日期格式或从24至12简单地改变为hh:mm到HH:MM格式,其中h是12小时,H是24小时。 记得改变你的位置。

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
    [df setDateFormat:@"HH:mm"]; 
相关问题