1. strftime()(格式化日期时间的函数)
%a 输出当前是星期几的英文简写
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%a')
'Sun'
%A 输出完整的星期几名称英文
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%A')
'Sunday'
%b 输出月份的英文简写
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%b')
'Sep'
%B 输出月份的英文完整名称
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%B')
'September'
%c 以本地时间显示日期和时间
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%c')
'09/15/13 21:43:29'
%d 显示1-31之间的数,每月的第几天,也就是年月日中的日
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%d')
'15'
%H 以24小时制显示小时,比如,02,14
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%H')
'21'
%I 以12小时制的方式显示当前小时,例如当前jb51.net服务器的时间为晚上21点,使用%I显示09
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%I')
'09'
%j 显示当前日期为一年中的第几天,如当前jb51.net服务器时间为2013年9月15日,则显示为258,也就是一年中的第258天
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%j')
'258'
%m 显示1-12之间的月份
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%m')
'09'
%M 显示00-59之间的分钟数
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%M')
'43'
%p 以 A.M./P.M.方式显示是上午还是下午
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%p')
'PM'
%S 显示0-59之间的秒数
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%S')
'29'
%U 显示一年中的第几周,星期天为一周的第一天,例如当前www.jb51.net服务器时间为2013年9月15日,星期天,显示为第37周
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%U')
'37'
%w 显示一周中的第几天,其中星期天为0,星期一为1,例如:jb51.net当前日期为2013年9月17日星期二,则显示结果为2
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%w')
'2'
%W 显示一年中的第几周,和U%把不同的是星期一为一周的第一天,例如当前www.jb51.net服务器时间为2013年9月17日,星期二,显示为第37周,范围在0-51之间
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%W')
'37'
%x 显示当地的日期,例如jb51.net本地时间为:北京时间2013年9月17日
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%x')
'09/17/13'
%X 显示当地的时间,例如jb51.net本地时间为:北京时间2013年9月17日 07:55:04
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%X')
'07:55:04'
%y 显示(00 - 99) 之间的年份,例如:jb51.net服务器时间为:2013年9月17日,则显示结果为13
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%y')
'13'
%Y 显示完整年份,例如:jb51.net服务器时间为:2013年9月17日,则显示结果为2013
>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%Y')
'2013'
%z, %Z 输出时区,如果不能显示,则显示为空字符 %% 用于显示%符号
>>> now.strftime('%%')
'%'
一个完整的例子:
显示当前日期时间:格式为:年-月-日 时:分:秒
>>> datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S');
'2013-09-17 08:06:17'
2. strptime()(由字符串转为日期型的函数)
import datetime
day20 = datetime.datetime.strptime('2020-01-01 0:0:0', '%Y-%m-%d %H:%M:%S')
nowdate = datetime.datetime.today()
dela = day20 - nowdate
day = dela.days
hour = int(dela.seconds / 60 / 60)
minute = int((dela.seconds - hour * 60 * 60) / 60)
second = dela.seconds - hour * 60 * 60 - minute * 60
print('到2020年元旦还有:' + str(day) + '天' + str(hour) + '小时' + str(minute) + '分' + str(second) + '秒')
3. python中时间日期格式化符号
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称