【问题标题】:convert time to 12hr format将时间转换为 12 小时格式
【发布时间】:2010-12-08 11:18:03
【问题描述】:

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

【问题讨论】:

    标签: iphone nstimer


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      考虑到您有一个名为 time 的小时 int...

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

      【讨论】:

        【解决方案3】:

        当您说您已将其转换为日期时,您是什么意思?你的意思是你把它放在NSDate 对象中吗?如果是这样,则日期不是 24 小时日期格式。 NSDate 不关心日期在屏幕上的显示方式。

        格式来自您的本地化设置。应该是这样的。我不想要 12 小时格式的时间,而不是你想要 24 小时格式的时间。

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

        【讨论】:

          【解决方案4】:

          要将日期格式从 12 更改为 24 小时或从 24 更改为 12,只需将 hh:mm 更改为 HH:mm 格式,其中 h 表示 12 小时,H 表示 24 小时。 记得更改您的位置。

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-02-13
            • 2018-12-13
            • 2019-12-24
            • 2011-11-17
            • 2013-07-14
            相关资源
            最近更新 更多