日期格式化

使用 datetime 模块

开发文档地址:https://docs.python.org/2.7/library/datetime.html#time-objects

from datetime import datetime

# 获取当前日期
date = datetime.now()
# 当前是周几(0-6)
day = date.weekday()
# 当前是周几(1-7)
day = date.isoweekday()
# 当前是几点(24小时)
hour = date.hour
# 日期转格式化字符串:方式1
date.strftime('%Y-%m-%d %H:%M:%S')
# 日期转格式化字符串:方式2
date_str = '%s-%s-%s' % (date.year, date.month, date.day)
# 字符串转日期
datetime.strptime('2017-09-12 10:16:31', '%Y-%m-%d %H:%M:%S')

输出结果:

# 当前日期'.'后面是微秒,即date.microsecond
2017-09-12 09:43:00.400000
# 周四
3
# 周四
4
# 上午9点
9
# 格式化后的日期:方式1
2017-09-12 09:43:00
# 格式化后的日期:方式2。区别就是方式1格式化后的月份小于10的时候自己默认补0
2017-9-12

使用 time 模块

strftime()和strptime()日期格式化字符含义

符号 说明 例子
%a 星期几的英文简写 Sun, Mon, …, Sat (en_US)
So, Mo, …, Sa (de_DE)
%A 星期几的英文全拼 Sunday, Monday, …, Saturday (en_US)
Sonntag, Montag, …, Samstag (de_DE)
%w 星期几的数字表示 0-6 0, 1, …, 6
%d 一个月中的第几号,不足10的十位补零 01, 02, …, 31
%b 月份英文简写 Jan, Feb, …, Dec (en_US)
Jan, Feb, …, Dez (de_DE)
%B 月份英文全拼 January, February, …, December (en_US)
Januar, Februar, …, Dezember (de_DE)
%m 月份数字表示,不足10的十位补零 01, 02, …, 12
%y 年份表示,不带世纪数(年份后两位),
不足10的十位补零
00, 01, …, 99
%Y 年份表示,带世纪数 (四位) 1970, 1988, 2001, 2013
%H 24小时,不足10的十位补零 00, 01, …, 23
%I 12小时,不足10的十位补零 01, 02, …, 12
%p AM,PM AM, PM (en_US)
am, pm (de_DE)
%M 分钟,不足10的十位补零 00, 01, …, 59
%S 秒,不足10的十位补零 00, 01, …, 59
%f 微秒,不足10的十位补零 000000, 000001, …, 999999
%z UTC offset in the form +HHMM or -HHMM
(empty string if the the object is naive).
(empty), +0000, -0400, +1030
%Z 时区名(empty string if the the object is naive). (empty), UTC, EST, CST
%j 一年中的第几天,不足10的十位补零 001, 002, …, 366
%U 一年中的第几周,周日作为每一周的第一天,
不足10的十位补零
00, 01, …, 53
%W 一年中的第几周,周一作为每一周的第一天,
不足10的十位补零
00, 01, …, 53
%c 与系统环境匹配的日期和时间的表示 Tue Aug 16 21:30:00 1988 (en_US)
Di 16 Aug 21:30:00 1988 (de_DE)
%x 与系统环境匹配的日期的表示 08/16/88 (None)
08/16/1988 (en_US)
16.08.1988 (de_DE)
%X 与系统环境匹配的时间的表示 21:30:00 (en_US)
21:30:00 (de_DE)
%% 输出’%’字符 %

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,一毛也是爱

打开支付宝扫一扫,即可进行扫码打赏哦