iOS12-Swift5-Date轉化爲String:DateFormatter

Swift5:Date->String思路:

1.實例化一個DateFormatter對象html

2.根據項目需求修改這個對象的屬性bash

3.用這個對象的string方法,放入想要轉化的日期或時間(Date類型)ide

最基本的用法:

指定dateFormat屬性

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy年MM月dd日 HH時mm分ss秒"
print(dateFormatter.string(from: Date())) //2019年05月10日 22時22分22秒
複製代碼

 

中級用法:

指定dateStyle或timeStyle屬性+locale屬性

let dateFormatter = DateFormatter()
//dateStyle和timeStyle默認都是none,二者至少有一個
dateFormatter.dateStyle = .medium
dateFormatter.timeStyle = .short
//改爲中文
dateFormatter.locale = Locale(identifier: "zh_CN")
print(dateFormatter.string(from: Date())) //2019年5月10日 下午10:22
複製代碼

dateStyle(medium和long對中文來講沒區別):

.short // 2019/5/10
.medium // 2019年5月10日
.long // 2019年5月10日
.full // 2019年5月10日 星期五
複製代碼

timeStyle:

.short // 下午10:22
.medium // 下午10:22:22
.long // GMT+8 下午10:22:22
.full // 中國標準時間 下午10:22:22
複製代碼

通常來講都選.medium就夠用了

 

高級用法:

上述dateStyle和timeStyle沒法知足項目需求的話,能夠設定一個本地化模板。 這樣之後全部用這個dateFormatter轉化的date都會遵循這個模板的格式:ui

let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "zh_CN")
dateFormatter.setLocalizedDateFormatFromTemplate("H")
print(dateFormatter.string(from: Date())) // 22時
print(dateFormatter.string(from: Date(timeIntervalSinceReferenceDate: 410220000))) // 6時
複製代碼

 

關於yyyy-MM-dd等unicode的標準日期格式能夠參考這裏:

www.unicode.org/reports/tr3…spa

 

廣告時間:小弟的iOS12零基礎視頻教程(每章皆可試聽):

m.study.163.com/provider/48…code

相關文章
相關標籤/搜索