【问题标题】:Guess is the exact date format from a string [duplicate]猜测是字符串中的确切日期格式[重复]
【发布时间】:2016-07-19 09:27:07
【问题描述】:

我试图从一个字符串中猜测确切的日期格式:

2016-07-19 19:30:00 +0000

我认为默认的日期格式是:

yyyy-MM-dd'T'HH:mm:ssZZZZZ

但是当我尝试将其转换为另一种日期格式时,我遇到了这个错误:

fatal error: unexpectedly found nil while unwrapping an Optional value

我认为日期格式与我的字符串不匹配!有什么帮助吗? 代码:

let getDateEvent = String(extractData.valueForKey("date")!)
        print(getDateEvent)

    let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ"
    let date = dateFormatter.dateFromString(getDateEvent)

    dateFormatter.dateFormat = "eeee, MMM d"///this is you want to convert format
    let timeStamp = dateFormatter.stringFromDate(date!)
    print(timeStamp)

【问题讨论】:

  • 报错信息与日期转换无关。看起来它可能与不包含关键“日期”的提取数据有关。应用程序在哪一行崩溃?
  • 在你的想法日期格式中,T来自哪里?
  • 是的,当然,但在 Apple 示例中,源日期字符串中有一个 T。无需猜测,因为documentation 准确描述了日期组件和占位符之间的关系。

标签: ios swift nsdate


【解决方案1】:

以下格式可以正常工作:

let getDateEvent = "2016-07-19 19:30:00 +0000"
print(getDateEvent)

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss zzzz"
let date = dateFormatter.dateFromString(getDateEvent)

dateFormatter.dateFormat = "eeee, MMM d"///this is you want to convert format
let timeStamp = dateFormatter.stringFromDate(date!)
print(timeStamp)

【讨论】:

    猜你喜欢
    • 2012-03-19
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-09
    • 2012-01-07
    • 2020-06-01
    相关资源
    最近更新 更多