python中的时间模块

2018-10-12  本文已影响0人  Devin天空

本文主要总结一下python中常用的关于对时间的。
python常用的对于时间处理的模块主要包括time和datetime两个模块,datetime是对time模块进行了封装,提供了更多方便使用的接口。以我现在的理解time更多的应用在时间戳上面的使用,datetime更多的使用在时间上面

1.时间戳的获取
import time
t=time.time()
print(t)

通过导入time模块,利用time.time()函数获取秒级别的时间戳,若需要整数级别的时间戳,只需int(t)即可,若需要毫秒级别的时间戳,可以t*1000即可。

2.日期的获取

datetime模块定义了5个类,分别是:</br>
1.datetime.date:表示日期的类</br>
2.datetime.datetime:表示日期时间的类</br>
3.datetime.time:表示时间的类</br>
4.datetime.timedelta:表示时间间隔,即两个时间点的间隔</br>
5.datetime.tzinfo:时区的相关信息</br>
对于这几个类在这就不一一介绍,主要介绍常用的使用方法。

from datetime import datetime,timedelta

# 这是当前系统时间,输出2018-10-12 21:21:10.226082
print(datetime.now())
#输出指定格式的时间,输出Oct-12-2018 21:21:10
print(datetime.now().strftime('%b-%d-%Y %H:%M:%S'))
#获取前一天的时间, 输出2018-10-11 21:21:10.226082
print(datetime.now()+timedelta(days=-1))
#获取utc时间, 输出 2018-10-12T13:21:10.226082
print(datetime.utcnow().isoformat())

可以根据上面的启发,可进行获取前一小时的时间等信息。

3.时间戳转成日期格式
import time
t=time.time()
time_local = time.localtime(t)
dt = time.strftime("%Y-%m-%d %H:%M:%S",time_local)
#输出 time.struct_time(tm_year=2018, tm_mon=10, tm_mday=12, tm_hour=20, tm_min=54, tm_sec=37, tm_wday=4, tm_yday=285, tm_isdst=0)
print(time_local)  
#输出 2018
print(time_local.tm_year)
#输出 2018-10-12 20:54:37
print(dt)

主要通过time.localtime将时间戳转换为本地时间的时间元组,通过该元组也可以获取当前的年月日等信息,然后利用strftime函数将该元组转换为指定的时间格式。

from datetime import datetime,timedelta
import time

t= time.time()
dt=datetime.fromtimestamp(t)
#输出1539350723.3322256
print(t)
#输出2018-10-12 21:25:23.332226
print(dt)

另外也可以直接利用datetime的函数fromtimestamp直接转换为时间格式

4 日期转时间戳
import time
ts = '2018-10-10 10:40:00'
timeArray = time.strptime(ts, "%Y-%m-%d %H:%M:%S")
t = int(time.mktime(timeArray))
#输出1539139200
print(t)

将字符串类型的时间格式转换为时间数组,然后利用time的mktime函数输出时间戳

在这将常用的两个时间模块进行了列举,当然python有其他的时间处理模块,在后续也会慢慢介绍~

上一篇 下一篇

猜你喜欢

热点阅读