Swift5-Date转化为String:DateFormatt

2022-02-02  本文已影响0人  Johnson_9d92

Swift5-Date转化为String:DateFormatter

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

中级用法

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都会遵循这个模板的格式:

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时

上一篇下一篇

猜你喜欢

热点阅读