导读:介绍datetime常见用法,约1000字,正常读完需要4~7分钟。
datetime模块是python标准库中最常用的时间处理库,足以应对一些简单的时间相关的操作需求。datetime库包括date、time、datetime、timedelta、tzinfo和timezone这几个类。
1. datetime (from datetime import datetime)
生成datetime对象:
a.获取当前本地时间 datetime.now();
b.获取当前世界时 datetime.utcnow()
c.直接生成datetime对象 datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None,)
d.从字符串解析datetime对象:datetime.strptime ("21/11/06 16:30", "%d/%m/%y %H:%M")
属性/方法:
a. datetime对象可以获取对应属性:
s = datetime.now()
s.year;s.month;s.day;s.hour;s.minute;s.second;s.microsecond;s.tzinfo
b. datetime对象转字符串
s.strftime("%d/%m/%y") # '11/03/02'
2. timedelta (from datetime import timedelta)
生成timedelta
a. 两个datetime对象可以相减,得到的即为timedelta对象
s1 = datetime(2019,11,12)
s2 = datetime(2019,11,11)
a = s1-s2 # datetime.timedelta(days=1)
datetime对象可以通过加上timedelta对象来生成新的datetime对象
s1 + a # datetime.datetime(2019, 11, 13, 0, 0)
b. 直接生成datetime对象 timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
方法/属性
a.days;a.seconds;a.microseconds
a.total_seconds() 返回总的秒数
3. timezone和tzinfo
生成带有时区信息的datetime对象
tz_beijing = timezone(timedelta(hours=8),"Beijing")
s = datetime(2019,11,11, tzinfo = tz_beijing)
转世界时:
s_utc = s. astimezone(timezone.utc)