python-datetime模块基本使用

import datetime as dt
该模块主要有5个类,
datetime类:显示日期和时间
date类:显示日期
time类:显示时间
timedelta类:用于日期时间对象的计算
timezone类:用于时区的调整

对于类而言,在类中的函数统称为方法。

1.使用datetime类


一个datetime对象至少要传年月日3个参数,
可以传3-6个参数
m1 = dt.datetime(2020,2,28):定义一个datetime类对象
m2 = dt.datetime(2020,2,29,23,59,59)
使用函数:
dt.datetime.today():返回本地现在的时间
dt.datetime.now(tz=None):返回现在的时间,tz参数用于选择时区
dt.datetime.fromtimestamp(0):会返回UNIX时间戳,本地从1970年1月1日 08:00:00开始,加上参数(单位为秒)

dt.datetime.utcfromtimestamp(0):会返回UNIX时间戳,UTC时间从1970年1月1日 00:00:00开始,加上参数(单位为秒)

import datetime as dt
#一个datetime对象只要要传年月日3个参数,
m1 = dt.datetime(2020,2,28,1)
print(m1)

m2 = dt.datetime(2020,2,29,23,59,59)
print(m2)

m3 = dt.datetime.today()
print(m3)

m4 = dt.datetime.now(tz=None)
print(m4)

#   会返回UNIX时间戳,本地从1970年1月1日 08:00:00开始,加上参数(单位为秒)
m5 = dt.datetime.fromtimestamp(0)
print(m5)
#   会返回UNIX时间戳,UTC时间从1970年1月1日 00:00:00开始,加上参数(单位为秒)
m6 = dt.datetime.utcfromtimestamp(0)
print(m6)


2.使用date类和time类


m1 = dt.date(2020,2,29):定义一个data类对象

使用函数:
dt.date.today():显示现在日期

m4 = dt.time(23, 59, 59):定义一个time类对象

import datetime as dt

m1 = dt.date(2020,2,29)
print(m1)

#显示现在日期
m2 = dt.date.today()
print(m2)

m3 = dt.date.fromtimestamp(0)   #返回UNIX时间轴开始日期(1970年1月1日)
print(m3)

m4 = dt.time(23, 59, 59)
print(m4)

3.使用dt.timedelta()类来进行日期时间的计算


如果使用了dt.timedelta()类的对象,那么可以让dt.datetime类直接使用加减法运算
从而调整时间
例:
m1 = dt.datetime.today()
delta = dt.timedelta(10)    #10天的dt.timedelta对象
m1 += delta        #可以与dt.datetime类对象直接进行加减法
print(m1)

import datetime as dt

m1 = dt.datetime.today()
print(m1)
#dt.timedelta()函数可以创建多少天、多少小时、多少分钟、多少秒的timedelta对象,
#可以用来进行日期时间的加减法。
delta = dt.timedelta(10)
print(delta)
m1 += delta
print(m1)

delta2 = dt.timedelta(weeks=5)
print(delta2)

m1 += delta2
print(m1)


4.日期时间的格式化和解析


datetime类、date类和time类都有格式化实例方法。strftime(format)
只有datetime类才有解析实例方法。strptime(str,format)
format是格式控制符,可以上网查阅
例:
格式化是将类对象    变为     字符串
d = dt.datetime.today()
time_d = d.strftime('%Y-%m-%d %H:%M:%S')
print(time_d)
print(type(time_d))    #time_d是字符串


解析时字符串    变为    类对象
str_date = '2020-02-29 23:59:59'
d2 = dt.datetime.strptime(str_date, '%Y-%m-%d %H:%M:%S')
print(d2)
print(type(d2)) #d2是dt.datetime类对象

时间格式控制符见最下方!

import datetime as dt

d = dt.datetime.today()
#d.strftime()将原本的datetime对象,格式化为字符串
time_d = d.strftime('%Y-%m-%d %H:%M:%S')
print(time_d)
print(type(time_d))
print('\n')
time_d2 = d.strftime('时间:%I:%M:%S %p')
print(time_d2)
print('\n')

#可以使用dt.datetime.strptime()解析函数,
#将字符串按照时间格式控制符的格式,解析为日期时间对象。
str_date = '2020-02-29 23:59:59'
d2 = dt.datetime.strptime(str_date, '%Y-%m-%d %H:%M:%S')
print(d2)
print(type(d2)) #d2是dt.datetime类对象

5.timezone类的使用,datetime类的一个函数astimezone(tz)用来调整时区


例:
d = dt.datetime.now(tz= dt.timezone.utc)#现在时间,时区为UTC,即:+0
bj_tz = dt.timezone(offset=dt.timedelta(hours=8))#时区:+8
d2 = d.astimezone(bj_tz)#时区调整为原时区+8,也就是0+8= +8
print(d2)

import datetime as dt

d = dt.datetime.now(tz= dt.timezone.utc)
print(d)
print()

#这里是定义timezone对象,参数为日期时间计算的对象
bj_tz = dt.timezone(offset=dt.timedelta(hours=8))
print(bj_tz)
print(type(bj_tz))  #<class 'datetime.timezone'>
print()
#d.astimezone()函数用来改变时区,参数为timezone对象
d2 = d.astimezone(bj_tz)
print(d2)


日期时间控制符
%y    两位年份表示
%Y    四位年份表示
%m    两位月份表示
%d    两位天数表示
%H    两位小时表示(24小时制)
%I    两位小时表示(12小时值)
%M    两位分钟表示
%S    两位秒表示
%f    六位微秒表示
%Z    时区


 


版权声明:本文为aijiayi00原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。