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

How to convert date (without knowing the kind) to string

我有 arrayNSDate 个对象,我正试图将其转换为 string 个。我的转换方法是 NSDateFormat,但是,如果有其他更好的方法,我很乐意听到。

date 最多的事情是:

Days-Hours-Minutes-Seconds-Milliseconds

但有些会更少,例如:

Minutes-Seconds-Milliseconds

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

示例使用 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!")
}

输出:

date: 1975-03-31 16:34:00 +0000