📜  Python中的日期(1)

📅  最后修改于: 2023-12-03 15:19:30.413000             🧑  作者: Mango

Python中的日期

Python对日期的支持十分强大,支持处理日期和时间的模块常常被引用。Python提供了多种处理日期和时间的模块,最基础的就是time模块。

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
datetime模块

Python内置的datetime模块也提供了对时间的支持,更为高级和方便。

datetime模块主要包含以下类:

  • datetime.date:日期类,常用于处理日历日期。
  • datetime.time:时间类,常用于处理时间。
  • datetime.datetime:日期和时间类。
  • datetime.timedelta:时间差类,用于计算时间间隔。
datetime.date

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

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.datetime类表示一个日期和时间,即包含年月日时分秒等信息,它是datetime.datedatetime.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

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类则是处理时间间隔的利器,让我们可以方便地计算两个日期之间的时间差。