一、datetime模块
1、概述
datetime是python处理时间和日期的标准库,它由以下几个模块组成
- date 日期对象 year month day
- time 时间对象 hour minute second microsecond
- datetime 时间日期
- timedelta 时间间隔
2、时间表示知识普及
-
时区
-
格林威治时间
-
时间戳
- 某个时间距离格林威治时间 1970/1/1 08:00:00
1、获取当前时间
from datetime import datetime
# 获取当前时间
times = datetime.now()
print('北京时间: %s' % times)
# 获取世界时间
b = datetime.utcnow()
print("UTC时间: %s" % b)
# 指定日起创建
c = datetime(2019,5,20,13,14)
print("表白时间: %s" % c)
2、时间格式化
- strftime是一种计算机函数,把时间格式化为一个时间字符串
- strftime按照特定时间格式将字符串转化为时间类型
a = datetime(2019,8,2,)
print(a.strftime('%A,%B,%d,%Y'))
b = datetime(2019,8,2,23,11,11)
print(b.strftime('%Y/%m/%d %H:%M:%S%p'))
c = datetime(2019,7,7)
print(c.strftime('%B %d,%Y'))
d = datetime(year=2019,month=8,day=2,hour=15,minute=52,second=3,microsecond=32)
print(d.strftime('%Y-%m-%d %H:%M:%S'))
print(d.strftime('%c'))
print(d)
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 当前时区的名称
%% %本身
3、时间戳
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。通俗的讲, 时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。 它的提出主要是为用户提供一份电子证据, 以证明用户的某些数据的产生时间。 在实际应用上, 它可以使用在包括电子商务、 金融活动的各个方面, 尤其可以用来支撑公开密钥基础设施的 “不可否认” 服务。
# 获取时间戳
st = d.timestamp()
print(st)
# 根据时间戳获取当前时间
d = datetime.fromtimestamp(1564732323.000032)
print(d)
运行结果
4、指定时区
导入timezone,timedelta模块
# 指定时区
tz = timezone(offset=timedelta(hours=8)) #东八区-北京时间
d = datetime.now(tz=tz)
print(d)
tza = timezone(offset=timedelta(hours=-5)) #西五区-美国时间
dd = d.astimezone(tza)
print(dd)