如何将日期(不知道种类)转换为字符串

时间:2015-09-03 18:47:43

标签: ios string swift nsdate nsdateformatter

我有arrayNSDate个对象,我试图转换为string。我转换它们的方式是使用NSDateFormat,但是,如果有另一种更好的方式,我会很高兴听到。

date所拥有的最多的东西是:

Days-Hours-Minutes-Seconds-Milliseconds

但有些人会少一些,比如:

Minutes-Seconds-Milliseconds

甚至更少。现在我必须将它们转换为string。我是否必须创建if statements以确定它是否有天,小时等,或者是否有更简单的方法来执行此操作?

1 个答案:

答案 0 :(得分:1)

使用NSDataDetector(Swift 2.0)的示例:

let textDate = "dan's march 31, 1975 12:34 pm";

do {
    let dd = try NSDataDetector(types: NSTextCheckingType.Date.rawValue)
    if let tcr :NSTextCheckingResult = dd.firstMatchInString(textDate, options:[], range:NSMakeRange(0, textDate.utf16.count)),
       let date = tcr.date {
            print("date: \(date)")
        }
}
catch {
    print("Data Detector error!")
}

输出:

  

日期:1975-03-31 16:34:00 +0000