如何将这个日期时间从日期转换?
日期: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)
这对于那些想要使用dateformatter.dateformat;
如果你想要12.09.18,你可以使用dateformatter。dateformat = "dd.MM.yy"
Wednesday, Sep 12, 2018 --> EEEE, MMM d, yyyy
09/12/2018 --> MM/dd/yyyy
09-12-2018 14:11 --> MM-dd-yyyy HH:mm
Sep 12, 2:11 PM --> MMM d, h:mm a
September 2018 --> MMMM yyyy
Sep 12, 2018 --> MMM d, yyyy
Wed, 12 Sep 2018 14:11:54 +0000 --> E, d MMM yyyy HH:mm:ss Z
2018-09-12T14:11:54+0000 --> yyyy-MM-dd'T'HH:mm:ssZ
12.09.18 --> dd.MM.yy
10:41:02.112 --> HH:mm:ss.SSS
这里有一些替代方案:
年代:G (AD), GGGG(阿诺多米尼)
年:年(2018),年(18),年(2018)
月:嗯,嗯,嗯,嗯,嗯
月号:日,日
星期名:E, EEEE, EEEEEE, EEEEEE
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
这对于那些想要使用dateformatter.dateformat;
如果你想要12.09.18,你可以使用dateformatter。dateformat = "dd.MM.yy"
Wednesday, Sep 12, 2018 --> EEEE, MMM d, yyyy
09/12/2018 --> MM/dd/yyyy
09-12-2018 14:11 --> MM-dd-yyyy HH:mm
Sep 12, 2:11 PM --> MMM d, h:mm a
September 2018 --> MMMM yyyy
Sep 12, 2018 --> MMM d, yyyy
Wed, 12 Sep 2018 14:11:54 +0000 --> E, d MMM yyyy HH:mm:ss Z
2018-09-12T14:11:54+0000 --> yyyy-MM-dd'T'HH:mm:ssZ
12.09.18 --> dd.MM.yy
10:41:02.112 --> HH:mm:ss.SSS
这里有一些替代方案:
年代:G (AD), GGGG(阿诺多米尼)
年:年(2018),年(18),年(2018)
月:嗯,嗯,嗯,嗯,嗯
月号:日,日
星期名:E, EEEE, EEEEEE, EEEEEE
将@BatyrCan转换为Swift 5.3的额外格式。在Xcode 12中测试。
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm:ss"
var dateFromStr = dateFormatter.date(from: "12:16:45")!
dateFormatter.dateFormat = "hh:mm:ss a 'on' MMMM dd, yyyy"
//Output: 12:16:45 PM on January 01, 2000
dateFormatter.dateFormat = "E, d MMM yyyy HH:mm:ss Z"
//Output: Sat, 1 Jan 2000 12:16:45 +0600
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
//Output: 2000-01-01T12:16:45+0600
dateFormatter.dateFormat = "EEEE, MMM d, yyyy"
//Output: Saturday, Jan 1, 2000
dateFormatter.dateFormat = "MM-dd-yyyy HH:mm"
//Output: 01-01-2000 12:16
dateFormatter.dateFormat = "MMM d, h:mm a"
//Output: Jan 1, 12:16 PM
dateFormatter.dateFormat = "HH:mm:ss.SSS"
//Output: 12:16:45.000
dateFormatter.dateFormat = "MMM d, yyyy"
//Output: Jan 1, 2000
dateFormatter.dateFormat = "MM/dd/yyyy"
//Output: 01/01/2000
dateFormatter.dateFormat = "hh:mm:ss a"
//Output: 12:16:45 PM
dateFormatter.dateFormat = "MMMM yyyy"
//Output: January 2000
dateFormatter.dateFormat = "dd.MM.yy"
//Output: 01.01.00
//Customisable AP/PM symbols
dateFormatter.amSymbol = "am"
dateFormatter.pmSymbol = "Pm"
dateFormatter.dateFormat = "a"
//Output: Pm
// Usage
var timeFromDate = dateFormatter.string(from: dateFromStr)
print(timeFromDate)