Python 日期和时间


Python日期处理

Python为我们提供了一个标准库,使日期和时间的操作变得很容易。Python date-time模块提供了许多处理日期和时间的类和函数。在本文中,我们将介绍Python中日期和时间的处理方式。

日期和时间类

Python中有三个代表日期和时间的类:date、time和datetime。

date类

date类表示日期(年、月、日)。可以通过不同的日期格式创建并初始化date对象。

from datetime import date

# 初始化date对象
d = date(2019, 12, 31)

print(d)  # 输出:2019-12-31

time类

time类表示时间(时、分、秒、微秒)。可以通过不同的时间格式初始化time对象。

from datetime import time

# 初始化time对象
t = time(12, 30, 45)

print(t)  # 输出:12:30:45

datetime类

datetime类combines date类和time类的功能,表示日期和时间。它也可以通过不同的日期和时间格式创建和初始化。

from datetime import datetime

# 初始化datetime对象
dt = datetime(2019, 12, 31, 12, 30, 45)

print(dt)  # 输出:2019-12-31 12:30:45

常用的日期和时间操作

Python提供了date、time和datetime类的方法,可以将它们和其他日期和时间进行比较、计算和格式化等。

日期和时间计算

我们可以使用timedelta类或dateutil.relativedelta类进行日期和时间的计算。

from datetime import date, datetime, timedelta
from dateutil.relativedelta import relativedelta

# 计算功课提交时间
d = date.today()
rd = relativedelta(months=2, days=7)
submit_date = d - rd
print(submit_date)

# 计算两个日期之间的差值
d1 = date(2022, 9, 23)
d2 = date(2022, 8, 15)
delta = d1 - d2
print(delta.days)

# 计算时间差值
t1 = datetime.now()
t2 = datetime(2022, 5, 31, 23, 59, 59)
delta = t2 - t1
print(delta)

日期和时间格式化

datetime类的strftime方法可以将日期时间格式化成字符串。

from datetime import datetime

# 格式化datetime对象
dt = datetime.now()
s = dt.strftime("%Y-%m-%d %H:%M:%S")
print(s)

时间戳

我们可以使用time方法将日期表示为秒数。

from datetime import datetime

# 将datetime对象转换成时间戳
dt = datetime.now()
timestamp = dt.timestamp()
print(timestamp)

Python还提供了时间戳与日期时间的转换。

from datetime import datetime

# 将时间戳转换成datetime对象
timestamp = 1648371600.0
dt = datetime.fromtimestamp(timestamp)
print(dt)

# 将时间戳转换成UTC时间
dt = datetime.utcfromtimestamp(timestamp)
print(dt)

结论

Python标准库中的日期和时间模块使日期和时间的操作变得更加简单和便捷。通过使用date、time和datetime类,我们可以方便地处理不同类型的日期和时间。另外,timedelta类和dateutil.relativedelta类使日期和时间之间的计算变得更加容易。通过strftime方法,我们可以将日期格式化成我们所需的字符串格式。