【问题标题】:Date conversion from string not happening [duplicate]没有发生从字符串的日期转换[重复]
【发布时间】:2018-06-01 10:43:14
【问题描述】:

我在order_date 中有一个日期,格式为May 31, 2018 at 3:35 PM

我正在将它转换为Date,就像这样......

if let order_date = value["order_date"] as? String {

let dateFormatter = DateFormatter()

dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"

let date = dateFormatter.date(from: order_date)

}

但我得到的date 为零。可能是什么问题..?

【问题讨论】:

  • DateHelper 会帮助你
  • 日期是您提供的格式吗?我不这么认为
  • 像这样改变你的 dateFormatter "MMMM dd, yyyy 'at' hh:mm a"
  • @FredericP 我以这种格式发送..yyyy-MM-dd HH:mm:ss。但是在服务器中,有些日期的格式是May 31, 2018 at 3:35 PM。因此问题...
  • @bwv - 你得到什么输入,你期望什么 OP

标签: swift nsdate nsdateformatter


【解决方案1】:

你的日期格式错误,把你的格式改成

dateFormatter.dateFormat = "MMMM dd, yyyy 'at' hh:mm a"

例如,如果您将月份设为 Mar,则使用 - MMM,如果您得到 March,则使用 - MMMM

您可以查看here中的日期格式

完整答案

 if let order_date = value["order_date"] as? String {

let dateFormatter = DateFormatter()
 dateFormatter.dateFormat = "MMMM dd, yyyy 'at' hh:mm a"
  var date = dateFormatter.date(from: order_date)
    if date == nil{
        dateFormatter.dateFormat =  "yyyy-MM-dd HH:mm:ss"
        date = dateFormatter.date(from: order_date)
    }
 dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
 let myStringafd = dateFormatter.string(from: date!)
 print(myStringafd)

}

对于详细的日期格式转换,您可以得到here

【讨论】:

  • .@Anbu.karthik "MMM dd, yyyy 'at' hh:mm a" 不会一直是这种格式。可能是ampm
  • 但是 @Anbu.karthik 不是 "MMMM dd, yyyy 'at' hh:mm a" 总是为 A.M 吗?在我的情况下,它可能是上午或下午
  • @bwv - 根据将更改 AM 或 PM 的时间格式,它是 12 小时日期格式
  • .@Anbu.karthik 在您给出的答案中,我们是否应该给出一个 if 条件来检查日期格式..?因为我输入order_date 的日期可以是"MMMM dd, yyyy 'at' hh:mm a""yyyy-MM-dd HH:mm:ss" 的格式
  • @bwv - 检查更新的答案
【解决方案2】:

用下面的代码替换你的代码:

if let order_date = value["order_date"] as? String
    {

        let dateFormatter = DateFormatter()

        dateFormatter.dateFormat = "MMM dd, yyyy 'at' hh:mm a"

        let date = dateFormatter.date(from: order_date)

    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    • 1970-01-01
    • 2021-06-09
    • 2016-12-24
    相关资源
    最近更新 更多