Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 具有AM/PM的DateFormatter返回零_Ios_Swift_Nsdateformatter_Dateformatter - Fatal编程技术网

Ios 具有AM/PM的DateFormatter返回零

Ios 具有AM/PM的DateFormatter返回零,ios,swift,nsdateformatter,dateformatter,Ios,Swift,Nsdateformatter,Dateformatter,我知道这个话题在这里和其他论坛上都得到了充分的讨论。 不幸的是,我仍然无法理解为什么日期为零 请注意,当我在调试器或游乐场中运行代码时,它完全可以正常工作。 这与它在设备上运行的事实有关 var dateString = "2019-12-17 3:48:02 PM" let dateFormatter = DateFormatter() dateFormatter.locale = Locale.current dateFormatter.timeZone = Time

我知道这个话题在这里和其他论坛上都得到了充分的讨论。 不幸的是,我仍然无法理解为什么日期为零

请注意,当我在调试器或游乐场中运行代码时,它完全可以正常工作。 这与它在设备上运行的事实有关

   var dateString = "2019-12-17 3:48:02 PM"
   let dateFormatter = DateFormatter()
   dateFormatter.locale = Locale.current
   dateFormatter.timeZone = TimeZone.current
   dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss a"
   let date = dateFormatter.date(from: dateString) // date is nil

将en_US添加为您的区域设置,如下所示:

dateFormatter.locale =  NSLocale(localeIdentifier: "en_US")

12小时的格式是hh,而不是hh。另请参阅尝试将Locale设置为支持AM/PM的内容,如“en_US_POSIX”或“en_GB”等。感谢回复人员,@MartinR我实际上尝试了HH和HH,但没有成功。因为我用的是12小时制,所以我把它设置为hh。