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