Ios DateFormatter.date(from:String)与区域设置

Ios DateFormatter.date(from:String)与区域设置,ios,swift,locale,dateformatter,Ios,Swift,Locale,Dateformatter,我想寻求一些帮助,了解是什么原因导致我的DateFormatter失败 应用程序以字符串形式从服务器接收数据(例如“2020-12-13 02:54:36 UTC”) 应用程序解析到日期的字符串 应用程序支持英语和西班牙语本地化(无关?) 代码: 日期格式化程序(所有设置): dateFormat=“yyyy-MM-dd HH:MM:ss-zzz” 通常,所有日期都以UTC格式返回,但使用“zzz”也包括其他时间格式,如CDT等。。我们有一次在服务器端搞混了 问题: 我收到了一个用户的日志

我想寻求一些帮助,了解是什么原因导致我的DateFormatter失败

  • 应用程序以字符串形式从服务器接收数据(例如“2020-12-13 02:54:36 UTC”)
  • 应用程序解析到日期的字符串
  • 应用程序支持英语和西班牙语本地化(无关?)

  • 代码:

    日期格式化程序(所有设置):

    dateFormat=“yyyy-MM-dd HH:MM:ss-zzz”

    • 通常,所有日期都以UTC格式返回,但使用“zzz”也包括其他时间格式,如CDT等。。我们有一次在服务器端搞混了
    问题: 我收到了一个用户的日志(使用西班牙语区域设置),该用户遇到了日期分析器故障。但我无论如何也不能复制这个。。。(手机设置为EN/ES-UTC和CDT时区的日期解析正常)

    服务器响应:

    {“创建日期”: “2021-05-1406:07:55 UTC”

    其中日期(从字符串:)为上述日期返回零

    • 我做错了吗
    • 改进?(即设置formatter.locale=“en_en”help?服务器日期格式是固定的

    在设置
    dateFormat
    之前,您应该将日期格式化程序的区域设置设置为
    locale(标识符:“en_US\u POSIX”)
    ,然后尝试设置
    formatter.locale=“en_US”