【python学习】标准库之日期和时间库定义、功能、使用场景和示例
创始人
2024-09-25 13:26:19

引言

datetime模块最初是由 Alex Martelli 在 Python 2.3 版本引入的,目的是为了解决之前版本中处理日期和时间时存在的限制和不便
datetime模块出现之前,Python 主要使用time模块来处理时间相关的功能,但 time模块主要基于 Unix 纪元时间(即从1970年1月1日开始的秒数),对于复杂的日期和时间操作不够灵活

随着时间的推移,datetime模块经过了多次改进,现在已经成为Python标准库中处理日期和时间相关问题的首选模块

文章目录

  • 引言
  • 一、定义
  • 二、功能
    • 2.1 创建日期和时间对象
    • 2.2 日期和时间运算
    • 2.3 格式化和解析日期和时间
    • 2.4 时间差和时间间隔
  • 三、使用场景
    • 3.1 日期和时间表示
    • 3.2 日期和时间运算
    • 3.3 日期和时间格式化
    • 3.4 时间差和时间间隔
    • 3.5 时区操作
    • 3.6 日期和时间迭代
  • 四、代码示例
    • 4.1 创建日期和时间对象
    • 4.2 从字符串解析日期和时间
    • 4.3 日期和时间运算
    • 4.4 格式化和解析日期和时间
    • 4.5 时间差和时间间隔
    • 4.6 时区操作
  • 五、总结(思维导图)

一、定义

在Python中,日期和时间处理的标准库是datetime模块,它定义了一系列的功能和方法,用于操作和格式化日期和时间

二、功能

2.1 创建日期和时间对象

  • datetime.datetime.now(): 获取当前的日期和时间
  • datetime.datetime.fromtimestamp(timestamp): 从Unix纪元以来的秒数创建日期和时间对象
  • datetime.datetime.utcfromtimestamp(timestamp): 从UTC时区的Unix纪元以来的秒数创建日期和时间对象
  • datetime.datetime.strptime(date_string, format): 从字符串解析日期和时间对象

2.2 日期和时间运算

  • datetime.datetime.date(): 获取日期对象
  • datetime.datetime.time(): 获取时间对象
  • datetime.datetime.timetuple(): 将日期和时间对象转换为元组
  • datetime.datetime.utcoffset(): 获取UTC时区的偏移量

2.3 格式化和解析日期和时间

  • datetime.datetime.strftime(format): 将日期和时间对象格式化为字符串
  • datetime.datetime.strptime(date_string, format): 从字符串解析日期和时间对象

2.4 时间差和时间间隔

  • datetime.timedelta: 表示两个日期和时间之间的差值,可以加减日期和时间

三、使用场景

3.1 日期和时间表示

  • 创建当前日期和时间对象
  • 创建特定日期和时间的对象
  • 从字符串解析日期和时间对象

3.2 日期和时间运算

  • 获取日期和时间对象的时间戳
  • 获取日期和时间对象的UTC偏移量
  • 进行日期和时间的加减运算

3.3 日期和时间格式化

  • 将日期和时间对象格式化为字符串
  • 从字符串解析日期和时间对象

3.4 时间差和时间间隔

  • 计算两个日期和时间之间的差值
  • 进行日期和时间的加减运算

3.5 时区操作

  • 创建时区对象
  • 将日期和时间对象转换为特定时区的日期和时间

3.6 日期和时间迭代

  • 遍历日期和时间对象

这些是datetime模块中的一些基本功能和类,在Python中,日期和时间处理通常使用这个模块,因为它提供了简单、强大的日期和时间操作功能

四、代码示例

4.1 创建日期和时间对象

  • datetime.datetime.now(): 获取当前的日期和时间
from datetime import datetime now = datetime.now() print(now)  # 输出: 2023-04-01 12:00:00 

4.2 从字符串解析日期和时间

  • datetime.datetime.strptime(date_string, format): 将字符串解析为日期和时间对象
date_string = "2023-04-01 12:00:00" parsed_datetime = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S") print(parsed_datetime)  # 输出: 2023-04-01 12:00:00 

4.3 日期和时间运算

  • datetime.datetime.date(): 获取日期对象
  • datetime.datetime.time(): 获取时间对象
  • datetime.datetime.timetuple(): 将日期和时间对象转换为元组
  • datetime.datetime.utcoffset(): 获取UTC时区的偏移量
now = datetime.now() date = now.date() time = now.time() utcoffset = now.utcoffset() print(date)  # 输出: 2023-04-01 print(time)  # 输出: 12:00:00 print(utcoffset)  # 输出: datetime.timedelta(0, 14400) 

4.4 格式化和解析日期和时间

  • datetime.datetime.strftime(format): 将日期和时间对象格式化为字符串
  • datetime.datetime.strptime(date_string, format): 从字符串解析日期和时间对象
now = datetime.now() formatted_now = now.strftime("%Y-%m-%d %H:%M:%S") print(formatted_now)  # 输出: 2023-04-01 12:00:00 

4.5 时间差和时间间隔

  • datetime.timedelta: 表示两个日期和时间之间的差值,可以加减日期和时间
from datetime import timedelta delta = timedelta(days=1, hours=12) future_datetime = now + delta print(future_datetime)  # 输出: 2023-04-02 00:00:00 

4.6 时区操作

  • datetime.timezone: 表示时区,可以用于时间转换
  • datetime.datetime.astimezone(): 将日期和时间对象转换为特定时区的日期和时间
from datetime import timezone utc_time = datetime.now(timezone.utc) local_time = utc_time.astimezone() print(utc_time)  # 输出: 2023-04-01 12:00:00+00:00 print(local_time)  # 输出: 2023-04-01 12:00:00 

这些是datetime模块中的一些基本功能和方法的代码示例

五、总结(思维导图)

在这里插入图片描述

相关内容

热门资讯

无人机测燃气、机器狗3D建模,... 齐鲁晚报·齐鲁壹点记者 王皇 孟杰 摄影记者 王鑫 12月9日,山东省智能建造工作会在济南举行,同期...
高区新增机器人专业技术人员考核... 近日,工业和信息化部教育与考试中心依据人力资源社会保障部《专业技术人才知识更新工程数字技术工程师培育...
手机磁吸补光灯精品定制与靠谱供... 在当今数字化时代,摄影和直播行业蓬勃发展,手机磁吸补光灯作为一种便捷且实用的照明工具,正逐渐成为众多...
ETF午评 | A股低开高走,... 格隆汇12月12日|A股低开高走,截至午盘,上证指数跌0.04%,深证成指涨0.57%,指涨0.6%...
抛光用白刚玉微粉的特性 抛光用白刚玉微粉具有高硬度、化学稳定性强、粒度分布均匀、耐磨性优异、自锐性好、耐高温、环保安全、适用...