当前位置: 首页 > 面试题库 >

将NSDate快速转换为24h格式在设备上失败

严景焕
2023-03-14
问题内容

在iPhone6上运行应用程序时,我遇到了一个烦人的错误。
我需要将一个小时(由datePicker选择)从12h转换为24h格式。
简单的事情!是的,我对此非常确定,但是…我的代码可在模拟器上运行,但不能在设备上运行。
代码如下:

func convertTimeTo24HoursFomratString() -> String {
        let dateFormatter = NSDateFormatter()
        // isFormatTime24Hours is a static function that returns me if the device has a 24h clock or not. It works fine both on device and on simulator
        //if NSDateUtility.isFormatTime24Hours() {
        //    dateFormatter.dateFormat = "h:mm a"
        //    return dateFormatter.stringFromDate(self)
        //}

        dateFormatter.dateFormat = "HH:mm"
        return dateFormatter.stringFromDate(self)
}

我在哪里做错了?
iOS版本到处都是9.1。
预先感谢您的任何回答!

[Paul.s问题后的编辑]
在模拟器上,它返回24小时格式化的日期(右)。
在设备上,它返回12h格式化日期(错误)。


问题答案:

QA1480:将自己设置为的格式化者的语言环境en_US_POSIX。否则,您设备的语言环境会影响日期格式。



 类似资料:
  • 问题内容: 我从服务器获取UTC时区的字符串日期,我需要将其转换为本地时区。 我的密码: 此打印- utc:2015-04-01T11:42:00.269Z,日期:可选(2015-04-01 11:42:00 +0000) 如果我删除 它打印 utc:2015-04-01T11:42:00.269Z,日期:可选(2015-04-01 08:42:00 +0000) 我的当地时区是UTC +3,在第

  • 问题内容: 如何转换,以使得只有一年 @“YYYY” 格式输出到字符串? 问题答案: 怎么样… Swift 4.2:

  • 问题内容: 如何从字符串返回预定义时区中的NSDate 上面的代码返回时间为 问题答案: 如何在预定义的时区中返回NSDate? 你不能 的实例不包含有关时区或日历的任何信息。它只是简单地确定了通用时间的一点。 您可以在任何日历中解释该对象。Swift的字符串插值(示例代码的最后一行)使用的是使用UTC(即输出中的“ +0000”)的。 如果要将的值作为当前用户日历中的字符串,则必须为此显式设置日

  • 问题内容: 我有此表达式返回一个: 我希望能够在此if语句中使用数字: 问题是控制台给了我这个 问题是无法与进行比较。我想投到一个。我努力了: 这些都导致 如何转换值或在if语句中使用它? 问题答案: 做两件事,一是消除当前方法的负面结果,二是应根据结果正确创建一个Int。

  • 更新时间:2018-09-14 20:15:43 本示例旨在为开发者展示如何让设备快速与阿里云端的 LD(Link Develop)平台相连,把设备端属性上报到云端展示,手机APP,或者云端远程更新设备的属性和状态,操控设备。 该示例使用到了开发板 ESP32-devkitC 板上的 LED 灯,因此需要 ESP32-devkitC 开发板:goouuu-esp-32f,当然,也可以使用其他参考板

  • 问题内容: 我在将String转换为NSDate时遇到问题。用户在我的文本字段中点击时,可以使用选择日期。因为日期看起来像这样:“ yyyy-mm-dd”现在,当我尝试使用这种方法转换日期时,例如2016-05-13: 当我打印时,我收到的信息不是2016-05-13而是2016-01-11 23:58:00 +0000。我不知道为什么在字符串显示2016-05-13 时会有2016-01-11