time、datetime
time模块
在time模块中,有三种方式:时间戳,字符串时间,结构化时间
时间戳: 通常来说,时间戳表示的是自1970年1月1日00:00:00开始按秒计算的。我们运行“type(time.time())”,返回的是浮点数,float类型
通过time.time()来获取时间戳
字符串时间: 格式化的时间字符串(Format String): ‘1999-12-06’ '%Y-%m-%d %H:%M:%S'(年-月-日 时:分:秒)
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 当前时区的名称
%% %号本身
结构化时间:元组(struct_time) struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)
在这三种时间形式中有一个转化关系:
时间戳转结构化时间:localtime, 是北京时间,和伦敦相差8个小时
gmtime, UTC时间,与英国伦敦当地时间一致
print(time.gmtime(时间戳)), 不写默认使用当前的时间戳
print(time.localtime(时间戳)),不写默认使用当前的时间戳
时间戳和字符串时间的相互转换:
时间戳和字符串时间是不能直接进行相互转换的,需要经过结构化时间这个中间人
时间戳转字符串时间:
1,print(time.localtime(时间戳)) 转结构化时间
2,time.strftime(time.localtime(时间戳)) 结构化转字符串时间
字符串时间转时间戳:
1,t = time.strptime('字符串时间','要转入的格式') 字符串时间转为结构化时间
2,print(time.mktime(t)) 结构化转时间戳
t = time.strptime('2008-08-08 08:08:08','%Y-%m-%d %H:%M:%S')
print(time.mktime(t))
datetime,Python中的一个标准库
from datetime import datetime
在datetime中,
获取当前时间:print(datetime.now()),
时间类型转时间戳: print(datetime.timestamp(datetime.now())) 或 print(datetime.now().timestamp())
时间戳转时间类型: print(datetime.fromtimestamp(time.time()))
字符串转时间类型: datetime.strptime('字符串时间','%Y-%m-%d %H:%M:%S')
时间类型转字符串: datetime.strftime(datetime.now(),'%Y-%m-%d %H:%M:%S')
计算时间,可以通过timedelta来实现
form datetime import datetime,timedelta
print(datetime.now()) + timedelta(hours= , days = , weeks = )

浙公网安备 33010602011771号