python时间模块
datetime模块
时间高级类
-
datetime.date:表示日期的类
-
datetime.datetime:表示日期时间的类
-
datetime.time:表示时间的类
-
datetime.timedelta:表示时间间隔,即两个时间点的间隔
-
datetime.tzinfo:时区的相关信息
类方法,用类调用的方法,由类方法获得一个时间对象
now(tz=None)
返回当前时间的datetime对象,时间到微秒,如果tz为None,返回当前时区的不带时区信息的时间
utcnow()
不带时区的0时区时间
fromtimestamp(timestamp, tz=None)
从一个时间戳返回一个datetime对象
时间对象方法
timestamp()
返回一个到微秒的时间戳
时间戳:格林威治时间1970年1月1日0点到现在的秒数
构造方法 datetime.datetime(2016, 12, 6, 16, 29, 43, 79043)
year、month、day、hour、minute、second、microsecond,取datetime对象的年月日时分秒及微秒
weekday()
返回星期的天,周一0,周日6
isoweekday()
返回星期的天,周一1,周日7
date()
返回日期date对象
time()
返回时间time对象
datetime的格式化输出
%w 星期
%d 天
%b 月(简写)
%B 月(全称)
%m 月份(数字)
%y 年(后两位)
%Y 年(写全)
%H 小时(24小时制)
%I 小时(12小时制)
%M 分钟
%S 秒
%z 时区
import datetime
print(datetime.datetime.now())
#结果 无时区时间
2021-06-25 04:31:52.979941
print(datetime.datetime.now(datetime.timezone(datetime.timedelta(hours=8))))
#结果带时区的时间
2021-06-25 04:26:04.793499+08:00
print(datetime.datetime.now().timestamp())
#查看当前时间的时间戳
1624566805.784747
print(datetime.datetime.fromtimestamp(1624566805.784747))
#通过时间戳,获得时间对象
2021-06-25 04:33:25.784747
t = datetime.datetime.fromtimestamp(1624566805.784747)
print(type(t), t)
print(t.strftime('%Y-%m-%d###%w###%H:%M:%S'))
print(datetime.datetime.strptime('2021-06-25###5###04:33:25', '%Y-%m-%d###%w###%H:%M:%S'))
#结果
#通过strftime来给时间对象格式输出
#通过strptime把时间输出格式转换为时间对象
<class 'datetime.datetime'> 2021-06-25 04:33:25.784747
2021-06-25###5###04:33:25
2021-06-25 04:33:25
print(datetime.datetime(2020, 3, 4, 12, 35, 6))
#通过自定义时间
2020-03-04 12:35:06
t = datetime.datetime.fromtimestamp(1624566805.784747)
print(t.year,t.month,t.day,t.hour,t.date(),t.time())
#结果
2021 6 25 4 2021-06-25 04:33:25.784747
t = datetime.datetime.now()
print('{:%Y~%m~%d}'.format(t))
#用format对时间对象进行格式化输出
2021~06~25
timedelta类
datetime2 = datetime1 + timedelta
datetime2 = datetime1 - timedelta
timedelta = datetime1 - datetime2
构造方法
datetime.timedelta(days=0,seconds=0,microseconds=0,milliseconds=0,minutes=0, hours=0,weeks=0)
year = datetime.timedelta(days=365)
timedelta
对象有方法total_seconds(),返回时间差的总秒数
time模块
time.sleep(secs)
将调用线程挂起指定的秒数
本文来自博客园,作者:厚礼蝎,转载请注明原文链接:https://www.cnblogs.com/guangdelw/p/16910454.html