python datetime.datetime、datetime.date、datetime.timedelt 时间处理
datetime 对日期和时间进行处理的主要对象:
timedelt:日期差或时间差(常用)
datetime:时间和日期(常用)
date:日期
time:时间
1、datetime.datetime / datetime.date
(1)获取当前日期和时间:(返回结果:datetime.datetime(2020, 9, 23, 16, 6, 28, 491179))
import datetime as dt
dt.datetime.now()
dt.datetime.today()
(2)获取当前日期:(返回结果:datetime.date(2020, 9, 23))
dt.date.today()
dt.datetime.now().date()
dt.datetime.today().date()
(3)获取日期中的年份:(返回结果:2020)
dt.datetime(2020,9,23).year
dt.date(2020,9,23).year
(4)获取日期中的月份:(返回结果:9)
dt.datetime(2020,9,23).month
dt.date(2020,9,23).month
(5)获取日期中的日期数:(返回结果:23)
dt.datetime(2020,9,23).day
dt.date(2020,9,23).day
(6)获取日期是周几:
dt.datetime(2020,9,23).isoweekday() # (返回结果:3)1-7 对应 周一 - 周日
dt.date(2020,9,23).weekday() # (返回结果:2)0-6 对应 周一 - 到周日
(7)时区:
-
now 与 utcnow 的区别:
now:本地时间
utcnow:世界时间(因为时区的不同,所以这两个时间是不同的) -
“亚洲/上海” 当前时间为 ‘2020-09-23 16:20:25’,转化为 “亚洲/加尔各答” 时间
import pytz dt_in = dt.datetime(2020, 9, 23, 16, 20, 25, tzinfo = pytz.timezone('Asia/Shanghai')) dt_in.astimezone(pytz.timezone('Asia/Kolkata')) # 返回结果:datetime.datetime(2020, 9, 23, 13, 44, 25, tzinfo=<DstTzInfo 'Asia/Kolkata' IST+5:30:00 STD>)
注:查看时区对应的编码:pytz.all_timezones
2、datetime.timedelt
timedelt 常用于时间差,其参数包括:
weeks、days (默认)、hours、minutes、seconds、microseconds
(具体使用详见:python 日期加上天数、周数、小时数timedelta)
想知道更多,请关注我的公众号~