DateFormatter
格式
let formatter = DateFormatter()
formatter.dateFormat = """
公元前/后:(G GG GGG GGGG GGGGG)
年:(y yy yyy yyyy yyyyy)
年(慎用):(Y YY YYY YYYY YYYYY)
季度:(Q QQ QQQ QQQQ q qq qqq qqqq)
月:(M MM MMM MMMM MMMMM)
月:(L LL LLL LLLL LLLLL)
周:(年的第几周: w ww 月的第几周: W)
天:(月的第几天: d dd 年的第几天: D DD DDD)
如果当前时间是星期一,这是本月的第几个星期一: (F)
星期几:(E EE EEE EEEE EEEEE e ee eee eeee eeeee)
上午/下午: (a)
小时: ((1-12):h hh (0-23):H HH (0-11):K KK (1-24):k kk)
分钟: (m mm)
秒: (s ss)
"""
let string = formatter.string(from: Date())
print(string)
/*
公元前/后:(AD AD AD Anno Domini A)
年:(2020 20 2020 2020 02020)
年(慎用):(2020 20 2020 2020 02020)
季度:(4 04 Q4 4th quarter 4 04 Q4 4th quarter)
月:(10 10 Oct October O)
月:(10 10 Oct October O)
周:(年的第几周: 42 42 月的第几周: 3)
天:(月的第几天: 12 12 年的第几天: 286 286 286)
如果当前时间是星期一,这是本月的第几个星期一: (2)
星期几:(Mon Mon Mon Monday M 2 02 Mon Monday M)
上午/下午: (PM)
小时: ((1-12):11 11 (0-23):23 23 (0-11):11 11 (1-24):23 23)
分钟: (20 20)
秒: (6 06)
*/
YYYY 和 yyyy的区别
yyyy
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
let date = formatter.date(from: "2020-12-30")
let string = formatter.string(from: date!)
print(string)
//2020-12-30
YYYY
let formatter = DateFormatter()
formatter.dateFormat = "YYYY-MM-dd"
let date = formatter.date(from: "2020-12-30")
let string = formatter.string(from: date!)
print(string)
//2021-12-30
YYYY
是以周为单位,如果一周结束后剩下的几天就会计算到下一年中。年份如果用大 Y
会是这周的年份,小 y
才是标准的年份,所以一般时间转换尽量用 yyyy
,不要用 YYYY
。
更多 DateFormatter
用法查看文档:Data Formatting Guide
更多 DateFormatter
格式查看 unicode标准文档,苹果不同的语言版本,对unicode标准的支持也是有所不同的,在苹果官方文档中有说明。