Python中如何使用时间模块?
时间处理是计算机编程和数据科学中常见的问题之一。Python的时间模块是一种处理日期、时间和时间戳等时间类型的工具,它提供了一些强大的功能,方便我们进行时间处理和日期计算。
Python提供的时间模块共有三种角度的时间表示方式:时间戳、格式化时间字符串和结构化时间元组。
1. 时间戳
时间戳是指自1970年1月1日00:00:00以来的秒数,它是计算机中最常见的时间表示形式。我们可以使用time模块的time()函数获取当前的时间戳。
import time timestamp = time.time() print(timestamp)
time()函数返回的是一个浮点数,例如:1569800820.4432676。
我们可以使用time模块的ctime()方法,将时间戳转换成我们熟悉的时间字符串格式。
import time timestamp = time.time() timestring = time.ctime(timestamp) print(timestring)
输出的结果将会是:Thu Sep 30 23:50:57 2021。
2. 格式化时间字符串
格式化时间字符串,正是我们平时常用的时间格式。格式化时间字符串是指按照指定格式的时间字符串,例如,%Y-%m-%d %H:%M:%S,这是一个很常用的时间格式。我们可以使用time模块的strftime()函数将时间戳转换成格式化时间字符串:
import time
timestamp = time.time()
formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(timestamp))
print(formatted_time)
function strftime()里的 个参数是表示时间的格式,第二个参数是一个元组或时间戳。time.localtime()返回当前的结构化时间,类似于元组 (year, month, day, hour, minute, second, weekday, julian day, daylight saving time)。上面的代码将输出类似于 “2021-09-30 23:28:10” 的字符串。
另一个常用的strftime()用例是将一个字符串解析成一个结构化时间。例如:
import time date_str = "2021-09-30 23:28:05" date = time.strptime(date_str, '%Y-%m-%d %H:%M:%S') print(date)
输出结果为:
time.struct_time(tm_year=2021, tm_mon=9, tm_mday=30, tm_hour=23, tm_min=28, tm_sec=5, tm_wday=3, tm_yday=273, tm_isdst=-1)
3. 结构化时间元组
Python中的结构化时间元组是指一个由9个整型数字组成的元组。它们分别是 年份、月份、日、小时、分钟、秒、一周中的第几天、一年中的第几天和夏令时标志位。time模块中有一些函数可以将结构化时间元组转换成其他时间格式:
import time
date = (2021, 9, 30, 23, 28, 5, 3, 273, -1)
timestamp = time.mktime(date)
print(timestamp) # 1633056485.0
time_str = time.asctime(date)
print(time_str) # Thu Sep 30 23:28:05 2021
time_str = time.ctime(timestamp)
print(time_str) # Thu Sep 30 23:28:05 2021
formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', date)
print(formatted_time) # 2021-09-30 23:28:05
上面的代码分别是将一个结构化时间元组转换成时间戳、字符串和格式化时间字符串。
Python中时间模块还提供了其他一些函数,如sleep()、gmtime()、asctime()、localtime()、strptime()等等。如果需要使用Python进行任何时间方面的操作,就一定要学会使用时间模块。
总结
Python的时间模块time是 Python 标准库中内置的模块之一,处理时间方面非常强大。我们可以使用time模块获取当前时间、将时间戳转换成指定格式的时间字符串、将字符串解析为结构化时间元组等等。时间处理对于写代码来说是一个很重要的技能,希望这篇文章对大家有所帮助。
