30天拿下Python之datetime模块

💡 如果想阅读最新的文章,或者有技术问题需要交流和沟通,可搜索并关注微信公众号"希望睿智"。

概述

在上一节,我们介绍了Python的time模块,包括:time模块中一些常用的属性和函数。在这一节,我们将介绍Python的datetime模块。datetime模块属于Python的内置模块,提供了一种方便的方法来处理日期和时间。该模块包含了许多类,包括:date、time、datetime、timedelta等,用于处理日期、时间、时间差信息等。

下面,我们将逐一介绍datetime模块中一些常用的函数和类。

datetime.date类

datetime.date(year, month, day)是表示日期的类,包含年、月、日等信息。它接受三个参数:年份(year)、月份(month)和日期(day),用于指定一个特定的日期。

Python 复制代码
import datetime

d = datetime.date(2023, 9, 18)
# 输出:2023-09-18
print(d)
# 输出:2023 9 18
print(d.year, d.month, d.day)

datetime.time类

datetime.time(hour, minute, second, microsecond)是表示时间的类,包含时、分、秒和微秒等信息。它接受四个参数:小时(hour)、分钟(minute)、秒(second)和微秒(microsecond),用于指定一个特定的时间。

Python 复制代码
import datetime  

t = datetime.time(9, 18, 9, 18)
# 输出:09:18:09.000018
print(t)
# 输出:9 18 9 18
print(t.hour, t.minute, t.second, t.microsecond)

datetime.datetime类

datetime.datetime(year, month, day, hour, minute, second, microsecond)是表示日期和时间的类,是date和time类的结合体。它接受七个参数:年份(year)、月份(month)、日期(day)、小时(hour)、分钟(minute)、秒(second)和微秒(microsecond),用于指定一个特定的日期和时间。

Python 复制代码
import datetime  

dt = datetime.datetime(2023, 9, 18, 9, 18, 9, 18)
# 输出:2023-09-18 09:18:09.000018
print(dt)
# 输出:2023 9 18
print(dt.year, dt.month, dt.day)
# 输出:9 18 9 18
print(dt.hour, dt.minute, dt.second, dt.microsecond)

datetime.timedelta类

datetime.timedelta(days, seconds, microseconds)是表示时间差的类,包含天数、秒数和微秒数等信息。它接受三个参数:天数(days)、秒数(seconds)和微秒数(microseconds),用于指定时间差的大小。

Python 复制代码
import datetime

td = datetime.timedelta(days = 1, seconds = 100)
# 输出:1 day, 0:01:40
print(td)
# 输出:1 100 0
print(td.days, td.seconds, td.microseconds)
# 输出:86500.0
print(td.total_seconds())

datetime.tzinfo类

datetime.tzinfo是表示时区信息的类,用于处理时区相关的操作。该类是一个抽象类,常用的子类包括:timezone、pytz等。从该类创建子类时,必须重写name()、utcoffset()、dst()这三个函数。datetime.tzinfo类在日常工作中用得比较少,这里就不再详细介绍了。

datetime.now()函数

datetime.now()函数用于获取当前的日期和时间。

Python 复制代码
import datetime

# 输出:2023-09-17 20:29:10.606024
print(datetime.datetime.now())

datetime.strptime()函数

datetime.strptime(date_string, format)函数用于将字符串解析为日期和时间。其中,date_string是要解析的字符串,format是字符串的格式,返回值是一个datetime对象,包含了从字符串中解析出来的日期和时间信息。

Python 复制代码
import datetime

date_str = "2023-09-18 09:18:00"
date_format = "%Y-%m-%d %H:%M:%S"
date_obj = datetime.datetime.strptime(date_str, date_format)
# 输出:2023-09-18 09:18:00
print(date_obj)
相关推荐
感谢地心引力7 分钟前
【Python】基于 PyQt6 和 Conda 的 PyInstaller 打包工具
数据库·python·conda·pyqt·pyinstaller
xiaohanbao092 小时前
Transformer架构与NLP词表示演进
python·深度学习·神经网络
love530love2 小时前
【笔记】 Podman Desktop 中部署 Stable Diffusion WebUI (GPU 支持)
人工智能·windows·笔记·python·容器·stable diffusion·podman
程序员晚枫3 小时前
Python 3.14正式发布!这5大新特性太炸裂了
python
先做个垃圾出来………3 小时前
SortedList
python
这里有鱼汤3 小时前
从DeepSeek到Kronos,3个原因告诉你:Kronos如何颠覆传统量化预测
后端·python·aigc
晓宜3 小时前
Java25 新特性介绍
java·python·算法
深栈3 小时前
机器学习:决策树
人工智能·python·决策树·机器学习·sklearn
MediaTea3 小时前
Python:匿名函数 lambda
开发语言·python
hui函数4 小时前
Python全栈(基础篇)——Day07:后端内容(函数的参数+递归函数+实战演示+每日一题)
后端·python