📜  Python中的时间函数 | Set-2(日期操作)(1)

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

Python中的时间函数 | Set-2(日期操作)

Python中的时间函数是编写任何程序时必不可少的一部分。它允许您在程序中添加日期和时间功能。在本文中,我将介绍Python中的日期操作,以便您可以更好地了解Python中的时间模块。

获取当前日期和时间

要获取当前日期和时间,可以使用 datetime 模块中的 datetime 类。使用以下代码来获取当前日期和时间:

from datetime import datetime

now = datetime.now()

print("Current Date and Time:", now)

输出:

Current Date and Time: 2021-05-19 21:42:30.246032

这里,我们导入了 datetime 模块中的 datetime 类。然后,我们使用 now() 方法获取当前日期和时间,并将结果存储在变量 now 中。最后,我们使用 print() 函数输出 now 变量的值。

格式化日期

许多情况下,我们需要将日期转换为特定格式的文本。为了做到这一点,我们使用 strftime() 方法。以下是一些常用的日期格式:

| 格式 | 描述 | | ---- | --------------------------------------------- | | %a | 缩写的星期几名称(例如,Sun) | | %A | 完整的星期几名称(例如,Sunday) | | %b | 缩写的月份名称(例如,Jan) | | %B | 完整的月份名称(例如,January) | | %d | 日期(例如,21) | | %m | 月份(例如,04) | | %Y | 年份(例如,2021) | | %H | 24小时制的小时数(例如,21) | | %I | 12小时制的小时数(例如,09) | | %p | AM / PM 标志(例如,PM) | | %M | 分钟数(例如,30) | | %S | 秒数(例如,00) | | %f | 微秒数(例如,000000) | | %z | UTC偏移量(例如,+0530) | | %Z | 时区名称(例如,IST) | | %j | 一年中的第几天(例如,130) | | %U | 一年中的第几周(以周日为第一天) (例如,18) | | %W | 一年中的第几周(以周一为第一天) (例如,18) |

以下是将日期格式化为不同格式的代码示例:

from datetime import datetime

# 将日期格式化为 "YYYY-MM-DD"
now = datetime.now()
formatted_date = now.strftime("%Y-%m-%d")
print("Formatted Date:", formatted_date)

# 将日期格式化为 "DD/MM/YYYY"
formatted_date = now.strftime("%d/%m/%Y")
print("Formatted Date:", formatted_date)

# 将日期格式化为 "MMMM DD, YYYY"
formatted_date = now.strftime("%B %d, %Y")
print("Formatted Date:", formatted_date)

# 将日期格式化为 "Weekday, Month Day, Year | HH:MM:SS"
formatted_date = now.strftime("%A, %B %d, %Y | %H:%M:%S")
print("Formatted Date:", formatted_date)

输出:

Formatted Date: 2021-05-19
Formatted Date: 19/05/2021
Formatted Date: May 19, 2021
Formatted Date: Wednesday, May 19, 2021 | 22:03:23

在这里,我们使用 strftime() 方法将日期格式化为所需的格式。请注意,格式化字符串中的文本和特殊字符必须使用引号括起来。

字符串转换为日期

有时我们需要将字符串转换为日期对象,以便我们可以对它们执行其他操作,例如日期比较。使用 datetime 模块的 strptime() 方法将字符串转换为日期对象。以下是将日期字符串转换为日期对象的代码示例:

from datetime import datetime

# 将字符串转换为日期对象
date_string = "2021-05-19"
date_object = datetime.strptime(date_string, "%Y-%m-%d")

print("Date Object:", date_object)

输出:

Date Object: 2021-05-19 00:00:00

在这里,我们使用 strptime() 方法将日期字符串转换为日期对象。该方法需要两个参数,第一个参数是日期字符串,第二个参数是日期格式。在这里,我们使用 "%Y-%m-%d" 格式,因为我们的日期字符串符合格式 "YYYY-MM-DD"。

日期比较

Python中的 datetime 模块还提供了 date 类和 timedelta 类来进行日期比较。以下是日期比较示例的代码:

from datetime import date, timedelta

# 创建两个日期对象
date_1 = date(2021, 5, 19)
date_2 = date(2022, 5, 19)

# 计算日期之间的天数差
delta = date_2 - date_1
print("Days between date 1 and date 2:", delta.days)

# 创建一个时间间隔对象
gap = timedelta(days=365)

# 将时间间隔添加到日期对象中
new_date = date_1 + gap
print("New Date:", new_date)

输出:

Days between date 1 and date 2: 365
New Date: 2022-05-19

在这里,我们创建了两个日期对象 date_1date_2。然后,我们使用减法运算符计算它们之间的天数差。接下来,我们创建了一个 timedelta 对象 gap,该对象包含 365 天的时间间隔,然后将其添加到 date_1 中以创建一个新日期 new_date

总结

本文介绍了Python中的日期操作,包括获取当前日期和时间、格式化日期、将字符串转换为日期、日期比较等内容。这些功能使Python成为一种强大的编程语言,可以用来开发各种类型的应用程序。日期和时间操作在大多数程序中都是必不可少的,因此熟悉这些操作将为您提供方便和灵活性。