Python 比较两个日期的多种方法!

开发 后端
实际上,在我们使用Python处理日期/时间的时候,经常会遇到各种各样的问题。今天我们就来探讨另一个问题,如何用Python比较两个日期。

人生苦短,快学Python!

datetime

如果需要用Python处理日期和时间,大家肯定会先想到datetime、time、calendar等模块。在这其中,datetime模块主要是用来表示日期时间的,就是我们常说的年月日/时分秒。

datetime模块中常用的类:

                            类名

                        功能说明

date

日期对象,常用的属性有year,month,day

time

时间对象

datetime

日期时间对象,常用的属性有hour,minute,second,microsecond

timedelta

时间间隔,即两个时间点之间的长度

tzinfo

时区信息对象

那么,如何用datetime模块比较两个日期?

在交互式环境中输入如下命令:

import datetime
first_date = datetime.date(2022, 2, 22)
second_date = datetime.date(2022, 3, 1)
print(first_date < second_date)

输出:

True

我们会发现datetime模块可以使用比较运算符<或>来比较两个日期。上述代码中比较的是日期对象,如果换成日期时间对象也同样可以这样比较。

在交互式环境中输入如下命令:

import datetime
first_date = datetime.datetime(2022, 2, 22, 12, 5, 0)
second_date = datetime.datetime(2022, 3, 1, 12, 5, 0)
print(first_date < second_date)

输出:

True

strptime

前面示例代码中,其实比较的都是日期对象/日期时间对象。但如果用户输入的、或批量导入的日期和时间是字符串格式,我们在进行比较的第一步就是先将str转换为datetime。

至于转换方法也非常简单,只需要通过datetime.strptime即可实现。

在交互式环境中输入如下命令:

import datetime
strftime1 = datetime.datetime.strptime("2022-02-22", "%Y-%m-%d")
strftime2 = datetime.datetime.strptime("2022-03-01", "%Y-%m-%d")
print("日期2022-02-22大于2022-03-01:", strftime1 > strftime2)

输出结果:

另外time模块中也有strptime()函数,可以根据指定的格式把时间字符串解析为时间元组,利用这一特性也可以比较两个日期。

在交互式环境中输入如下命令:

import time
strftime1 = time.strptime("2022-02-22", "%Y-%m-%d")
strftime2 = time.strptime("2022-03-01", "%Y-%m-%d")
print(strftime1)
print(strftime2)
print("日期2022-02-22大于2022-03-01:", strftime1 > strftime2)

以上,便是如何用Python比较两个日期的几个小方法。实际上,Python中时间处理的不同模块、不同函数有很多可以总结的。

calendar(日历)模块、time(时间)模块我们后续还会详细介绍它们的小知识点,大家如果感兴趣可以给本文多多点赞支持一下。

责任编辑:庞桂玉 来源: AI科技大本营
相关推荐

2024-01-12 08:40:56

Python计算质数质数

2009-06-30 09:37:02

对象比较Java

2010-09-13 13:05:03

sql server分

2009-08-05 13:34:18

C#日期相减

2009-07-03 13:22:37

调用Servlet

2009-10-20 15:39:20

Linux压缩

2019-03-27 14:41:41

Python数据库Windows

2009-05-18 17:16:50

2009-07-16 10:39:00

SwingUtilit

2009-04-21 11:23:56

Oraclespool比较

2011-08-29 18:17:58

Ubuntu

2010-07-17 00:50:12

batch Telne

2010-07-25 14:31:54

Telnet程序

2023-03-26 00:15:43

2023-10-04 20:03:46

GOkeyvalue

2010-08-16 16:39:48

DIV内容居中

2011-08-29 17:25:21

Oracle日期范围搜索

2020-09-22 14:51:41

数据类型变量

2010-09-09 13:43:48

SQL函数NEWID

2010-04-19 16:17:39

防火墙网络管理服务器安全
点赞
收藏

51CTO技术栈公众号