中国如何缺席ChatGPT盛宴

最新库子,45亿地址信息泄漏

母子乱伦:和儿子做了,我该怎么办?

独家丨拿到ChatGPT版Bing搜索的内测后,我觉得所有大厂都该慌了。

民营离场论又变了:改扬弃论了

生成图片,分享到微信朋友圈

自由微信安卓APP发布,立即下载! | 提交文章网址
查看原文

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

Python客栈 2022-08-14

The following article is from 快学Python Author 快快

人生苦短,快学Python!

之前我们曾经分享过:Python获取某一日期是“星期几”的6种方法!实际上,在我们使用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(2022222)
second_date = datetime.date(202231)

print(first_date < second_date)

输出:

True

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

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

import datetime

first_date = datetime.datetime(20222221250)
second_date = datetime.datetime(2022311250)

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(时间)模块我们后续还会详细介绍它们的小知识点,大家如果感兴趣可以给本文多多点赞支持一下。

人生苦短,快学Python!

往期推荐1、大一女生废话编程爆火!懂不懂编程的看完都拴Q了2、用Python制作一个相册播放器(附源码)3、Cython 是什么?为什么会有 Cython?4、Python 中的万能之王 Lambda 函数5、Python 全自动解密解码神器 — Ciphey点击关注公众号,阅读更多精彩内容

文章有问题?点此查看未经处理的缓存