Python学习 -- datetime模块

简介: Python学习 -- datetime模块

当涉及到处理日期和时间数据时,Python的datetime模块提供了一系列类来帮助您执行各种操作。以下是各个类及其常用方法的详细介绍:

date 类

date 类表示一个年、月、日的日期对象。以下是一些常用的 date 类方法:

date.today()

获取当前日期。

from datetime import date
current_date = date.today()
print(current_date)  # 输出格式:YYYY-MM-DD
date(year, month, day)

创建一个指定年、月、日的日期对象。

from datetime import date
custom_date = date(2023, 9, 4)
print(custom_date)
date.year, date.month, date.day

获取日期对象的年、月、日。

from datetime import date
current_date = date.today()
year = current_date.year
month = current_date.month
day = current_date.day
print(f"Year: {year}, Month: {month}, Day: {day}")

time 类

time 类表示一个时、分、秒的时间对象。以下是一些常用的 time 类方法

time(hour, minute, second, microsecond)

创建一个指定时、分、秒、微秒的时间对象。

from datetime import time
custom_time = time(14, 30, 0)
print(custom_time)
time.hour, time.minute, time.second, time.microsecond

获取时间对象的时、分、秒、微秒。

from datetime import time
current_time = time(14, 30, 15, 500)
hour = current_time.hour
minute = current_time.minute
second = current_time.second
microsecond = current_time.microsecond
print(f"Hour: {hour}, Minute: {minute}, Second: {second}, Microsecond: {microsecond}")
datetime 类
datetime 类结合了日期和时间信息,表示一个特定的日期和时间。以下是一些常用的 datetime 类方法:
datetime(year, month, day, hour, minute, second, microsecond)

创建一个指定日期和时间的 datetime 对象。

from datetime import datetime
custom_datetime = datetime(2023, 9, 4, 14, 30, 0)
print(custom_datetime)
datetime.now()

获取当前日期和时间。

from datetime import datetime
current_datetime = datetime.now()
print(current_datetime)  # 输出格式:YYYY-MM-DD HH:MM:SS.microsecond
datetime.year, datetime.month, datetime.day, datetime.hour, datetime.minute, datetime.second, datetime.microsecond

获取 datetime 对象的各个部分,包括年、月、日、时、分、秒、微秒。

from datetime import datetime
current_datetime = datetime.now()
year = current_datetime.year
month = current_datetime.month
day = current_datetime.day
hour = current_datetime.hour
minute = current_datetime.minute
second = current_datetime.second
microsecond = current_datetime.microsecond
print(f"Year: {year}, Month: {month}, Day: {day}, Hour: {hour}, Minute: {minute}, Second: {second}, Microsecond: {microsecond}")

timedelta 类

timedelta 类用于表示两个日期或时间之间的时间差。以下是一些常用的 timedelta 类方法:

timedelta(days, seconds, microseconds, milliseconds, minutes, hours, weeks)

创建一个指定时间差的 timedelta 对象。

from datetime import timedelta
time_difference = timedelta(days=7, hours=2)
print(time_difference)
timedelta.total_seconds()

获取时间差的总秒数。

from datetime import datetime, timezone
utc_time = datetime.now(timezone.utc)
print(utc_time)
timezone(timedelta)

timezone 类

timezone 类用于表示时区信息。您可以使用它来创建带有时区信息的 datetime 对象。以下是一些常用的 timezone 类方法:

timezone.utc

表示协调世界时(UTC)时区。

from datetime import datetime, timezone
utc_time = datetime.now(timezone.utc)
print(utc_time)
timezone(timedelta)

通过给定的时间差创建一个自定义时区。

from datetime import datetime, timezone, timedelta
custom_timezone = timezone(timedelta(hours=5, minutes=30))
custom_time = datetime.now(custom_timezone)
print(custom_time)

这些 datetime 模块中的类和方法提供了强大的日期和时间处理功能,使您能够轻松执行各种日期和时间操作。希望这些示例可以帮助您更好地理解和使用它们。


目录
相关文章
|
29天前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
49 3
|
10天前
|
Python
Python Internet 模块
Python Internet 模块。
104 74
|
9天前
|
Python 容器
Python学习的自我理解和想法(9)
这是我在B站跟随千锋教育学习Python的第9天,主要学习了赋值、浅拷贝和深拷贝的概念及其底层逻辑。由于开学时间紧张,内容较为简略,但希望能帮助理解这些重要概念。赋值是创建引用,浅拷贝创建新容器但元素仍引用原对象,深拷贝则创建完全独立的新对象。希望对大家有所帮助,欢迎讨论。
|
28天前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
105 63
|
1月前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
21小时前
|
Python
Python学习的自我理解和想法(10)
这是我在千锋教育B站课程学习Python的第10天笔记,主要学习了函数的相关知识。内容包括函数的定义、组成、命名、参数分类(必须参数、关键字参数、默认参数、不定长参数)及调用注意事项。由于开学时间有限,记录较为简略,望谅解。通过学习,我理解了函数可以封装常用功能,简化代码并便于维护。若有不当之处,欢迎指正。
|
1月前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
11天前
|
存储 索引 Python
Python学习的自我理解和想法(6)
这是我在B站千锋教育学习Python的第6天笔记,主要学习了字典的使用方法,包括字典的基本概念、访问、修改、添加、删除元素,以及获取字典信息、遍历字典和合并字典等内容。开学后时间有限,内容较为简略,敬请谅解。
|
15天前
|
存储 程序员 Python
Python学习的自我理解和想法(2)
今日学习Python第二天,重点掌握字符串操作。内容涵盖字符串介绍、切片、长度统计、子串计数、大小写转换及查找位置等。通过B站黑马程序员课程跟随老师实践,非原创代码,旨在巩固基础知识与技能。
|
14天前
|
程序员 Python
Python学习的自我理解和想法(3)
这是学习Python第三天的内容总结,主要围绕字符串操作展开,包括字符串的提取、分割、合并、替换、判断、编码及格式化输出等,通过B站黑马程序员课程跟随老师实践,非原创代码。