如何将日期(不知道种类)转换为字符串
How to convert date (without knowing the kind) to string
我有 array
个 NSDate
个对象,我正试图将其转换为 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
我有 array
个 NSDate
个对象,我正试图将其转换为 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