如何在 Python 中处理日期

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

Python 提供了一组强大的工具来处理日期和时间。在本教程中,我们将深入探讨在 Python 中处理与日期相关任务的基础知识。你将学习如何创建日期对象、执行日期操作以及为各种用例格式化日期。在本指南结束时,你将对如何在 Python 项目中有效地处理日期有扎实的理解。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/PythonStandardLibraryGroup -.-> python/date_time("Date and Time") subgraph Lab Skills python/date_time -.-> lab-397706{{"如何在 Python 中处理日期"}} end

介绍 Python 中的日期

日期和时间是许多应用程序的重要组成部分,Python 提供了一套强大的工具来处理它们。在本节中,我们将探讨在 Python 中处理日期的基础知识。

理解 datetime 模块

Python 中的 datetime 模块提供了一套全面的类和函数来处理日期和时间。该模块包括以下主要类:

  • datetime:表示特定的日期和时间。
  • date:表示特定的日期。
  • time:表示特定的时间。
  • timedelta:表示一段时间间隔。

这些类使你能够创建、操作和比较日期和时间对象,从而轻松执行各种与日期相关的操作。

日期和时间格式

Python 中的日期和时间可以用多种格式表示,包括:

  • ISO 8601 格式(例如,"2023-04-18""2023-04-18T12:30:00"
  • strftime 格式字符串(例如,"%Y-%m-%d""%Y-%m-%d %H:%M:%S"
  • 时间戳(例如,1681804800.0

在 Python 应用程序中处理日期和时间时,理解这些格式至关重要。

时区感知

datetime 模块还支持有时区感知的日期和时间对象,这在处理来自不同时区的数据或处理夏令时更改时可能会很有帮助。

graph TD A[Datetime 模块] --> B[datetime] A --> C[date] A --> D[time] A --> E[timedelta]

在本节结束时,你将对在 Python 中处理日期的基础知识有扎实的理解,为更高级的日期操作和格式化技术奠定基础。

使用日期对象

既然我们已经介绍了 datetime 模块的基础知识,现在让我们更深入地了解如何使用日期对象。

创建日期对象

你可以使用 datetime 模块中的 date 类来创建日期对象。以下是一个示例:

from datetime import date

## 创建一个日期对象
today = date(2023, 4, 18)
print(today)  ## 输出:2023-04-18

你还可以使用 today() 方法获取当前日期:

from datetime import date

today = date.today()
print(today)  ## 输出:2023-04-18

访问日期组件

一旦你有了一个日期对象,就可以使用以下属性访问其各个组件,例如年、月和日:

  • year
  • month
  • day
from datetime import date

today = date(2023, 4, 18)
print(today.year)    ## 输出:2023
print(today.month)   ## 输出:4
print(today.day)     ## 输出:18

比较日期对象

你可以使用标准比较运算符(如 <>==<=>=)来比较日期对象。这使你能够执行各种与日期相关的操作,例如检查一个日期是在另一个日期之前还是之后。

from datetime import date

today = date(2023, 4, 18)
tomorrow = date(2023, 4, 19)

print(today < tomorrow)  ## 输出:True
print(today > tomorrow)  ## 输出:False
print(today == tomorrow) ## 输出:False

通过掌握使用日期对象的基础知识,你将朝着更高级的日期操作和格式化技术迈进。

日期操作与格式化

既然你已经熟悉了使用日期对象的基础知识,那么让我们来探索一下如何在 Python 中操作和格式化日期。

日期运算

datetime 模块中的 timedelta 类允许你进行日期运算,例如从一个日期中增加或减去天数、周数或月数。

from datetime import date, timedelta

today = date(2023, 4, 18)
one_day = timedelta(days=1)
tomorrow = today + one_day
print(tomorrow)  ## 输出:2023-04-19

two_weeks = timedelta(weeks=2)
two_weeks_from_now = today + two_weeks
print(two_weeks_from_now)  ## 输出:2023-05-02

日期格式化

Python 提供了 strftime() 方法来将日期和时间对象格式化为字符串。此方法接受一个格式字符串,该字符串指定日期和时间应如何显示。

from datetime import date

today = date(2023, 4, 18)
formatted_date = today.strftime("%B %d, %Y")
print(formatted_date)  ## 输出:April 18, 2023

以下是一些常见的格式说明符:

说明符 描述
%Y 年份(4 位数字)
%m 月份(01 - 12)
%d 月份中的日期(01 - 31)
%A 星期几(全称)
%a 星期几(缩写)
%B 月份名称(全称)
%b 月份名称(缩写)

通过结合日期操作和格式化技术,你可以在 Python 应用程序中创建强大的与日期相关的功能。

总结

在本 Python 教程中,你已经学习了如何使用内置的 datetime 模块来处理日期和时间。你现在知道如何创建日期对象、执行日期操作以及为不同目的格式化日期。这些技能将帮助你在 Python 中构建更强大且具有日期感知能力的应用程序。通过掌握本指南中涵盖的技术,你可以简化与日期相关的任务并增强 Python 程序的功能。