📅  最后修改于: 2023-12-03 15:19:30.413000             🧑  作者: Mango
Python对日期的支持十分强大,支持处理日期和时间的模块常常被引用。Python提供了多种处理日期和时间的模块,最基础的就是time
模块。
time
模块主要提供了三个类别的函数:
时间戳是指的Unix系统时间,即从1970年1月1日至今的秒数。time.time()
函数可以获取当前时间的时间戳,通过时间戳可以转换为人类可读的时间。
import time
timestamp = time.time()
print("当前时间戳为:", timestamp)
输出结果:
当前时间戳为: 1638128235.308613
将字符串转化为时间,需要使用指定的格式化字符串。将时间格式化为字符串也是一样的。
例如,如果我们有一个字符串形如"2021-11-28 12:30:45",可以使用time.strptime()
函数来将字符串转换为时间。
time_string = "2021-11-28 12:30:45"
time_obj = time.strptime(time_string, "%Y-%m-%d %H:%M:%S")
print(time_obj)
输出结果:
time.struct_time(tm_year=2021, tm_mon=11, tm_mday=28, tm_hour=12, tm_min=30, tm_sec=45, tm_wday=6, tm_yday=332, tm_isdst=-1)
将时间转化为字符串可以使用time.strftime()
函数,需要指定格式化字符串。
time_obj = time.localtime()
time_str = time.strftime("%Y-%m-%d %H:%M:%S", time_obj)
print(time_str)
输出结果:
2021-11-28 22:28:55
Python内置的datetime
模块也提供了对时间的支持,更为高级和方便。
datetime
模块主要包含以下类:
datetime.date
:日期类,常用于处理日历日期。datetime.time
:时间类,常用于处理时间。datetime.datetime
:日期和时间类。datetime.timedelta
:时间差类,用于计算时间间隔。datetime.date
类表示一个日期,它包含年、月、日等信息,可用于处理日期相关问题。
import datetime
today = datetime.date.today()
print("今天的日期是:", today)
print("年份是:", today.year)
print("月份是:", today.month)
print("日期是:", today.day)
输出结果:
今天的日期是: 2021-11-28
年份是: 2021
月份是: 11
日期是: 28
datetime.time
类表示一天的时间,它包含小时、分钟、秒、毫秒等信息,可用于处理时间相关问题。
import datetime
t = datetime.datetime.now().time()
print("现在的时间是:", t)
print("小时是:", t.hour)
print("分钟是:", t.minute)
print("秒数是:", t.second)
输出结果:
现在的时间是: 22:28:55.381826
小时是: 22
分钟是: 28
秒数是: 55
datetime.datetime
类表示一个日期和时间,即包含年月日时分秒等信息,它是datetime.date
和datetime.time
的组合。
import datetime
now = datetime.datetime.now()
print("现在的日期和时间是:", now)
print("年份是:", now.year)
print("月份是:", now.month)
print("日期是:", now.day)
print("小时是:", now.hour)
print("分钟是:", now.minute)
print("秒数是:", now.second)
输出结果:
现在的日期和时间是: 2021-11-28 22:28:55.381826
年份是: 2021
月份是: 11
日期是: 28
小时是: 22
分钟是: 28
秒数是: 55
datetime.timedelta
类用于计算时间间隔,可以表示一段时间或时间差。
import datetime
time1 = datetime.datetime.now()
time2 = datetime.datetime.now()+datetime.timedelta(hours=1)
td = time2 - time1
print("时间差为:", td)
输出结果:
时间差为: 1:00:00.003051
Python提供了多种处理日期和时间的模块,程序员可以根据自己的需要选取最适合的模块。time
模块是最基础的处理日期和时间的模块,datetime
模块更为高级和方便。timedelta
类则是处理时间间隔的利器,让我们可以方便地计算两个日期之间的时间差。