如何将这个日期时间从日期转换?
日期: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)
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
Swift版本:5.6 +以上
DateFormatter的DateFormatter属性用于用自定义字符串模式格式化日期。
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MMM dd, yyyy"
let date = dateFormatter.string(from: datePicker.date)
print(date)
//Feb 28, 2022
如果你想要任何不应该格式化和打印的东西,那么在这个单词周围使用单引号。像;“在”
dateFormatter.dateFormat = "MMM dd, yyyy 'at' hh:MM a"
// May 29, 2022 at 12:05 PM
这些都是格式化日期、时间和时区的可能模式。
你必须声明2个不同的NSDateFormatters,第一个将字符串转换为NSDate,第二个以你的格式打印日期。
试试下面的代码:
let dateFormatterGet = NSDateFormatter()
dateFormatterGet.dateFormat = "yyyy-MM-dd HH:mm:ss"
let dateFormatterPrint = NSDateFormatter()
dateFormatterPrint.dateFormat = "MMM dd,yyyy"
let date: NSDate? = dateFormatterGet.dateFromString("2016-02-29 12:24:26")
print(dateFormatterPrint.stringFromDate(date!))
Swift 3级及以上:
从Swift 3 NSDate类已更改为日期和NSDateFormatter到DateFormatter。
let dateFormatterGet = DateFormatter()
dateFormatterGet.dateFormat = "yyyy-MM-dd HH:mm:ss"
let dateFormatterPrint = DateFormatter()
dateFormatterPrint.dateFormat = "MMM dd,yyyy"
if let date = dateFormatterGet.date(from: "2016-02-29 12:24:26") {
print(dateFormatterPrint.string(from: date))
} else {
print("There was an error decoding the string")
}
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