我正在尝试格式化此日期:if let safeAgeInt = ageInt {
// Do Something with safeAgeInt
}
进入这一个:2014-03-18T03:31:14.000Z
我想将它拆分并存储在一个数组中。
答案 0 :(得分:2)
您需要创建一个NSDate
对象,然后使用NSDateFormatter
为日期部分创建一个字符串,为时间部分创建另一个字符串。在这里,我省去了麻烦(确保dateFormat
是正确的):
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
formatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
let date = formatter.dateFromString("2014-03-18T03:31:14.000Z")
formatter.locale = NSLocale.currentLocale()
formatter.dateStyle = .LongStyle
formatter.timeStyle = .NoStyle
let dateString = formatter.stringFromDate(date!)
formatter.dateStyle = .NoStyle
formatter.timeStyle = .LongStyle
let timeString = formatter.stringFromDate(date!)
答案 1 :(得分:1)
以下将做。请注意,我使用stringFromDate
两次使用不同的格式字符串,而不是根据需要拆分格式化日期。使用stringFromDate
两次更加独立于格式。
同时创建NSDateFormatter
有点贵,最好重复使用它。
let z = "2014-03-18T03:31:14.000Z"
let fmt = NSDateFormatter()
fmt.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
let date = fmt.dateFromString(z)!
fmt.timeZone = NSTimeZone(abbreviation: "Australia/Brisbane")
fmt.dateFormat = "yyyy-MM-dd"
let dateString = fmt.stringFromDate(date)
fmt.dateFormat = "h:mm a"
let timeString = fmt.stringFromDate(date)
print("date: \(dateString), time: \(timeString)")