Python 格式化日期

– Start

点击此处观看本系列配套视频。


所谓格式化指的是日期和字符串的相互转换。

格式

格式       意义                       例子
%y        年                         00, 01, …, 99
%Y        年                         2013, 2014, …, 9998, 9999
%G        年                         2013, 2014, …, 9998, 9999
%m        月                         01, 02, …, 12
%b        月                         Jan, Feb, …, Dec
%B        月                         January, February, …, December 
%d        日                         01, 02, …, 31
%H        时                         00, 01, …, 23
%i        时                         01, 02, …, 12
%p        时                         AM, PM
%M        分                         00, 01, …, 59
%S        秒                         00, 01, …, 59
%f        微秒                       000000, 000001, …, 999999
%a        星期                        Sun, Mon, …, Sat
%A        星期                        Sunday, Monday, …, Saturday 
%w        星期                        0, 1, …, 6
%u        星期                        1, 2, …, 7
%z        时差                        +0000, -0400, +1030
%Z        时区                        UTC, EST, CST
%j        每年第几天                   001, 002, …, 366
%U        每年第几周(Sunday first)     00, 01, …, 53
%W        每年第几周(Monday first)     00, 01, …, 53
%V        每年第几周(Monday first)     01, 02, …, 53
%x        日期本地格式                  08/16/1988
%X        时间本地格式                  21:30:00 
%c        日期时间本地格式              Tue Aug 16 21:30:00 1988 
%%        %

format(日期 --> 字符串)

from datetime import datetime, date, time

d = date.today()
t = time(16, 28, 22)
dt = datetime.now()


# isoformat
print(d.isoformat())   # 2018-09-23
print(t.isoformat())   # 16:28:22
print(dt.isoformat())  # 2018-09-23T08:23:34.763028


# strftime
print(d.strftime('%Y-%m-%d'))   # 2018-09-23
print(t.strftime('%H:%M:%S.%f'))   # 16:28:22.000000
print(dt.strftime('%Y-%m-%d %H:%M:%S.%f'))  # 2018-09-23 08:28:07.783908

parse (字符串 --> 日期)

from datetime import datetime, date, time


# fromisoformat
d = date.fromisoformat('2018-09-22')
t = time.fromisoformat('16:28:22')
dt = datetime.fromisoformat('2018-09-22')
dt = datetime.fromisoformat('2018-09-22 16:28:22')
dt = datetime.fromisoformat('2018-09-22 16:28:22.666')
dt = datetime.fromisoformat('2018-09-22 16:28:22.666+08:00')


# strptime
print(datetime.strptime('2018-09-23 08:28:07.783908', '%Y-%m-%d %H:%M:%S.%f'))

– 更多参见:Python 精萃
– 声 明:转载请注明出处
– Last Updated on 2018-09-23
– Written by ShangBo on 2018-09-23
– End

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值