日期时间是应用程序开发的重要组成部分。日期以不同的格式用于显示、保存或比较事件和进程。日期和时间有不同的表示格式,可以根据国家和本地化设置进行更改。在本教程中,我们将查看datetime操作的不同用法示例。
导入日期时间库
Python datetime函数由名为 datetime
为了使用日期时间函数,我们需要像下面这样导入这个库。
from datetime import datetime
日期和时间
在使用pythons的datetime函数、库和数据结构时,我们将涉及两种基本的数据结构date和time。日期部分或对象用于保存日期。时间部分或对象用于保持时间。我们可以单独使用,而不提供其他部分。
当前日期
当前日期或现在仅表示我们当前所在的日期和时间。我们将使用 now
函数以获取当前日期和时间。 now
由提供 datetime
对象。 now
提供如下所示的当前日期和时间。
datetime.today()now=datetime.now()

如我们所见,我们将当前时间和日期打印到控制台中,然后将当前日期和时间设置到名为 now
. 我们看到日期时间返回以下值
- 年
- 月
- 日期
- 小时
- 分钟
- 第二
来自字符串的日期时间
在上一个示例中,我们通过从中获取当前日期和时间来设置日期 now
功能。但在某些情况下,我们可能需要为不同的日期和时间手动设置日期和时间。我们将以字符串形式提供日期和时间值。我们将使用 datetime
具有相关日期时间格式的函数。
相关文章: 如何递归删除早于1天/1周/1个月的文件
在本例中,我们将提供如下值 year,month,day,hour,minute,second
格式
now =datetime(2017,4,27,8,10,45)

日期时区
世界上每一个地方都有不同的时间,但为了使事情更合理,时区被创造出来。时区用于将某些区域时间同步到同一时间。时区可能会因地点而异。我们可以用计算机获取时区信息 tzinfo
命令如下。
now=datetime.now()now.tzinfo
日期时间到时间戳
我们可以按我们想要的格式打印给定的日期和时间信息。例如,如果我们只想打印年和月,但不想打印日信息,我们可以提供相关的格式 strptime
功能。我们将使用ISO 8601标准化的格式化程序来更改输出。有关格式化程序的更多信息,请参阅下一章。
format="%Y-%m-%d %H:%M"datetime.strftime(datetime.now(),format)format="%Y-%m %H:%M"datetime.strftime(datetime.now(),format)format="%H:%M" datetime.strftime(datetime.now(),format)

使用格式器
我们可以使用以下格式化程序
- %%区域设置的缩写工作日名称。
- %%区域设置的完整工作日名称。
- %%b Locale的缩写月份名称。
- %%B地区的全名。
- %%c语言环境的适当日期和时间表示。
- %%以十进制数字表示的月份的d天[01,31]。
- %%f微秒作为十进制数字[0999999],左边填充零
- %%小时(24小时制)作为十进制数字[00,23]。
- %%I小时(12小时制)作为十进制数字[01,12]。
- %%j以十进制数字表示的一年中的某一天[001366]。
- %%以十进制数字表示的m月[01,12]。
- %%M分钟作为十进制数[00,59]。
- %%p语言环境相当于AM或PM。
- %%秒作为十进制数[00,61]。
- %%一年中的周数(星期日为一周的第一天)
- %%w Weekday作为十进制数字[0(星期日),6]。
- %%一年中的周数(星期一为一周的第一天)
- %%x语言环境的适当日期表示。
- %%X语言环境的适当时间表示。
- %%y年,不带十进制数字的世纪[00,99]。
- %%以世纪为十进制数的Y年。
- %%z UTC偏移量的形式为+HHMM或-HHMM。
- %%Z时区名称(如果对象是原始的,则为空字符串)。
- %%%%文本“%%”字符。
相关文章: Linux本地系统NTP端口号和配置教程
比较日期
另一个要求的特性是相互比较日期。我们可以使用普通的逻辑比较运算符,比如 >
, <
和 =
. 在下面的示例中,我们将比较两个日期,并根据比较结果打印一些文本。
t1=datetime.now()t2=datetime.now()if(t1![]()
比较日期 减去日期
日期也可以互相减去。这是一个非常有用的功能,用于查找两个日期之间的间隔,如年、月、日、时、分、秒。
t1=datetime.now()t2=datetime.now()t2-t1减去日期 时间差或时间差
t1
和t2
我们可以看到只有3秒。