如何将这个日期时间从日期转换?
日期:2016-02-29 12:24:26
至2016年2月29日
到目前为止,这是我的代码,它返回一个nil值:
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "MM-dd-yyyy"
dateFormatter.timeZone = NSTimeZone(name: "UTC")
let date: NSDate? = dateFormatter.dateFromString("2016-02-29 12:24:26")
print(date)
如果你想解析"1996-12-19T16:39:57-08:00"的日期,请使用以下格式"yyyy-MM-dd 'HH:mm:ssZZZZZ":
let RFC3339DateFormatter = DateFormatter()
RFC3339DateFormatter.locale = Locale(identifier: "en_US_POSIX")
RFC3339DateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ"
RFC3339DateFormatter.timeZone = TimeZone(secondsFromGMT: 0)
/* 39 minutes and 57 seconds after the 16th hour of December 19th, 1996 with an offset of -08:00 from UTC (Pacific Standard Time) */
let string = "1996-12-19T16:39:57-08:00"
let date = RFC3339DateFormatter.date(from: string)
来自Apple https://developer.apple.com/documentation/foundation/dateformatter
import UIKit
// Example iso date time
let isoDateArray = [
"2020-03-18T07:32:39.88Z",
"2020-03-18T07:32:39Z",
"2020-03-18T07:32:39.8Z",
"2020-03-18T07:32:39.88Z",
"2020-03-18T07:32:39.8834Z"
]
let dateFormatterGetWithMs = DateFormatter()
let dateFormatterGetNoMs = DateFormatter()
// Formater with and without millisecond
dateFormatterGetWithMs.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
dateFormatterGetNoMs.dateFormat = "yyyy-MM-dd'T'HH:mm:ss'Z'"
let dateFormatterPrint = DateFormatter()
dateFormatterPrint.dateFormat = "MMM dd,yyyy"
for dateString in isoDateArray {
var date: Date? = dateFormatterGetWithMs.date(from: dateString)
if (date == nil){
date = dateFormatterGetNoMs.date(from: dateString)
}
print("===========>",date!)
}
15、0 +。
iPadOS 15 . 0 +
macOS 12 . 0 +
Mac Catalyst 15.0+,
tvOS 15.0+,
watchOS 8.0+,
Xcode 13.0+
使用格式化(日期:时间:)
let now = Date.now
let date = now.formatted(date: .abbreviated, time: .omitted)
你可以使用另一种DateStyle,如.long, .numeric或定义自定义格式,而不是。缩写。
迅捷用户界面
Text(myDate, format: Date.FormatStyle(date: .numeric, time: .omitted))
或者简单地使用:
Text(myDate, style: .date)
参考
格式化(日期:时间:)
init() _:格式:
文本。DateStyle