python datetime.datetime、datetime.date、datetime.timedelt 时间处理

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

猜你喜欢

转载自blog.csdn.net/weixin_40012554/article/details/108750259