您的位置:

Python时间模块:时间获取、转换与操作技巧

一、时间模块介绍

在Python中,时间的处理操作主要依靠time和datetime两个核心模块。其中,time模块主要用于时间获取和时间转换,而datetime模块主要用于时间操作和时间格式化。


import time
import datetime

二、时间获取

在使用time模块获取时间时,可以使用time模块的time()函数来获取当前的时间戳(从1970年1月1日0时0分0秒开始的秒数),或者使用gmtime()函数或localtime()函数将时间戳转换为时间元组。


#获取当前时间戳
current_timestamp = time.time()

#将时间戳转换为时间元组
gmtime_tuple = time.gmtime(current_timestamp) #以UTC(世界统一时间,也称世界标准时间)时间为标准
localtime_tuple = time.localtime(current_timestamp) #以本地时间为标准

同时,在datetime模块中,可以使用datetime类来获取当前日期时间。datetime类的today()函数返回当前日期,now()函数返回当前日期时间,并且可以通过strftime()函数将日期时间进行格式化。


#获取当前日期时间
current_datetime = datetime.datetime.now()

#将日期时间格式化为指定的格式
formatted_datetime = current_datetime.strftime('%Y-%m-%d %H:%M:%S')

三、时间转换

对于时间的转换,在time模块中,可以使用mktime()函数将时间元组转换为时间戳,使用strftime()函数将时间元组格式化为字符串。


#将时间元组转换为时间戳
gmtime_tuple = time.gmtime(1500000000) #时间元组
timestamp = time.mktime(gmtime_tuple)
#时间戳

#将时间元组格式化为字符串
formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', gmtime_tuple)
#字符串

而在datetime模块中,可以使用strptime()函数将字符串转换为日期时间,并使用timedelta类进行时间的加减。


#将字符串转换为日期时间
datetime_str = '2022-08-01 12:00:00'
converted_datetime = datetime.datetime.strptime(datetime_str, '%Y-%m-%d %H:%M:%S')

#进行时间加减
one_day_delta = datetime.timedelta(days=1)
new_datetime = converted_datetime + one_day_delta

四、时间操作

在处理时间时,经常需要进行时间的加减、比较等操作。在time模块中,可以使用sleep()函数进行暂停,ctime()函数将时间戳转换为可读的日期时间字符串,而在datetime模块中,则可以直接进行时间的加减、比较等操作。


#暂停一段时间
time.sleep(5) #暂停5秒

#将时间戳转换为可读的日期时间字符串
timestamp = time.time()
readable_datetime = time.ctime(timestamp)

#比较两个日期时间
earlier_datetime = datetime.datetime(2022, 1, 1)
later_datetime = datetime.datetime(2022, 12, 31)
time_difference = later_datetime - earlier_datetime

五、总结

通过以上内容的介绍,我们可以看出,Python中的时间操作主要依托于time和datetime两个核心模块。而在具体的时间处理操作中,需要分别根据不同的需求,灵活使用这些函数和类库进行操作。