python ---datatime序列

datetime模块介绍

类名功能说明
date 日期对象,常用的属性有year, month, day
time 时间对象
datetime 日期时间对象,常用的属性有hour, minute, second, microsecond
datetime_CAPI 日期时间对象C语言接口
timedelta 时间间隔,即两个时间点之间的长度
tzinfo 时区信息对象

一  . date类

from datetime import date

#返回当前日期
print(date.today()) 输出:2021-11-25
a=date(2021,11,15)#a.year,a.month,a.day分别为:2021,11,15

#转化为时间元组输出
a.timetuple()输出为:time.struct_time(tm_year=2021, tm_mon=11, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=81, tm_isdst=-1)
print(date(2021,11,15)) 输出:2021-11-15

#传入时间戳参数,返回date对象
date.fromtimestamp(time.time()) #输出结果为:2021-11-25

#字符串的格式化输出
a = date.today() #date对象
print(a.__format__('%Y-%m-%d')) 由date对象转化为格式化字符串输出
输出结果:2021-11-26
或者:
a.strftime("%Y-%m-%d")
输出结果:2021-11-26

二  . time类

time([hour[, minute[, second[, microsecond[, tzinfo]]]]])  #time类由hour小时、minute分钟、second秒、microsecond毫秒和tzinfo五部分组成

a = datetime.time(12,20,59,899)
print(a.hour)  #12
print(a.minute) #20
print(a.second) #59
print(a.microsecond)#899

1.比较时间大小

>>> a = datetime.time(12,20,59,899)
>>> b = datetime.time(11,20,59,889)
>>> a.__eq__(b)   是否相等
False
>>> a.__ne__(b)   是否不相等
True
>>> a.__ge__(b)   a是否大于等于b
True
>>> a.__gt__(b)   a是否大于b
True
>>> a.__le__(b)   a是否小于等于b
False
>>> a.__lt__(b)   a是否小于b
False

2.时间的字符串输出

import datetime
a = datetime.time(12,20,59,899)
a.__format__('%H:%M:%S') #输出:'12:20:59'
或者
a.strftime('%H:%M:%S') #输出:'12:20:59'

 

三 . datetime类

datetime类的数据构成
datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])
import datetime
a = datetime.datetime.now()
print(a) #输出:2021-11-26 00:47:03.811068
print(a.date()) #输出:2021-11-26
print(a.time()) #输出:00:47:52.615274

#联合date和time重新获得一个新的datetime
print(datetime.datetime.combine(a.date(),a.time()))

根据string和format返回一个新的datetime对象
datetime.datetime.strptime(string, format)#返回一个对应的datetime对象
datetime.datetime.strptime('2017-3-22 15:25','%Y-%m-%d %H:%M')

四  . timedelta类

timedelta类是用来计算二个datetime对象的差值的。 
此类中包含如下属性: days:天数 ,     microseconds:微秒数(>=0 并且 <1秒)       seconds:秒数(>=0 并且 <1天)

import datetime

today = datetime.date.today()

#获取上个月第一天
mfirst_day = datetime.date(mlast_day.year, mlast_day.month, 1)

#获取上个月最后一天
mlast_day = datetime.date(today.year, today.month, 1) - datetime.timedelta(1)

2 . 获取时间差

import datetime

start_time = datetime.datetime.now()
end_time = datetime.datetime.now()
print((end_time - start_time).seconds)

输出结果为:7

3 . 计算当前时间向后8个小时的时间

import datetime

d1 = datetime.datetime.now()
d2 = d1 + datetime.timedelta(hours = 8) #d2为d1向后8小时的时间对象

可以计算: 天(days), 小时(hours), 分钟(minutes), 秒(seconds), 微秒(microseconds).

 

posted @ 2021-11-26 01:09  我不知道取什么名字好  阅读(58)  评论(0)    收藏  举报