Python datetime库函数的示例详解

 更新时间:2023年07月03日 10:19:53   作者:zhangxuegold  
datetime 是 Python 内置的日期时间处理库,它包含了处理日期、时间、时间间隔等的类和函数,这篇文章主要介绍了Python datetime库函数的详解,需要的朋友可以参考下

datetime 是 Python 内置的日期时间处理库,它包含了处理日期、时间、时间间隔等的类和函数。datetime 库可以从系统中获得时间,并以用户选择的格式输出。下面是 datetime 常用的类和函数以及它们的详细解释。

datetime 类

datetime 类是 date 和 time 两个类的结合体,表示一个具体的日期和时间。

class datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)
  • year: 年份,四位数。例如:2021。
  • month: 月份,1~12 之间的整数。
  • day: 日,1~31 之间的整数。
  • hour: 小时,0~23 之间的整数。
  • minute: 分钟,0~59 之间的整数。
  • second: 秒,0~59 之间的整数。
  • microsecond: 微秒,0~999999 之间的整数。
  • tzinfo: 时区信息,如果不指定则表示本地时区。
  • fold: 用于处理 DST(夏令时)的标记,0 表示未折叠,1 表示已折叠。

下面是 datetime 类的一些常用方法:

  • datetime.today() 和 datetime.now(): 返回当前日期和时间。
  • datetime.date(): 返回日期部分。
  • datetime.time(): 返回时间部分。
  • datetime.timestamp(): 将 datetime 对象转换为 Unix 时间戳。
  • datetime.strftime(): 将 datetime 对象格式化为字符串。
  • datetime.strptime(): 将字符串解析为 datetime 对象。

date 类

date 类表示一个日期,不包含时间信息。

class datetime.date(year, month, day)
  • year: 年份,四位数。例如:2021。
  • month: 月份,1~12 之间的整数。
  • day: 日,1~31 之间的整数。

下面是 date 类的一些常用方法:

  • date.today(): 返回当前日期。
  • date.fromisoformat(): 将 ISO 格式字符串转换为 date 对象。
  • date.toordinal(): 将 date 对象转换为 Gregorian 日历下的序数。
  • date.weekday(): 返回星期几,0 表示星期一,6 表示星期日。
  • date.strftime(): 将 date 对象格式化为字符串。
  • date.fromtimestamp(): 将 Unix 时间戳转换为 date 对象。

time 类

time 类表示一个时间,不包含日期信息。

class datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)
  • hour: 小时,0~23 之间的整数。
  • minute: 分钟,0~59 之间的整数。
  • second: 秒,0~59 之间的整数。
  • microsecond: 微秒,0~999999 之间的整数。
  • tzinfo: 时区信息,如果不指定则表示本地时区。
  • fold: 用于处理 DST(夏令时)的标记,0 表示未折叠,1 表示已折叠。

下面是 time 类的一些常用方法:

  • time.fromisoformat(): 将 ISO 格式字符串转换为 time 对象。
  • time.strftime(): 将 time 对象格式化为字符串。
  • time.fromtimestamp(): 将 Unix 时间戳转换为 time 对象。

timedelta 类

timedelta 类表示两个日期或时间之间的时间间隔。

class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
  • days: 天数,可以为负数。
  • seconds: 秒数,可以为负数。
  • microseconds: 微秒数,可以为负数。
  • milliseconds: 毫秒数,可以为负数。
  • minutes: 分钟数,可以为负数。
  • hours: 小时数,可以为负数。
  • weeks: 周数,可以为负数。

下面是 timedelta 类的一些常用方法:

  • timedelta.total_seconds(): 返回时间间隔的总秒数。
  • timedelta.days: 返回天数。
  • timedelta.seconds: 返回秒数,不包括天数。
  • timedelta.microseconds: 返回微秒数,不包括天数和秒数。

其他函数

除了上述类之外,datetime 模块还提供了一些其他函数,如下所示:

  • datetime.datetime.strptime(date_string, format): 将字符串解析为 datetime 对象。
  • datetime.datetime.combine(date, time): 将 date 对象和 time 对象组合为 datetime 对象。
  • datetime.datetime.now(tz=None): 返回当前日期和时间,可以指定时区。
  • datetime.datetime.utcnow(): 返回当前 UTC 时间。
  • datetime.datetime.fromtimestamp(timestamp, tz=None): 将 Unix 时间戳转换为 datetime 对象,可以指定时区。
  • datetime.datetime.fromordinal(ordinal): 将 Gregorian 日历下的序数转换为 datetime 对象。
  • datetime.datetime.fromisoformat(date_string): 将 ISO 格式字符串转换为 datetime 对象。
  • datetime.date.today(): 返回当前日期。
  • datetime.date.fromtimestamp(timestamp): 将 Unix 时间戳转换为 date 对象。
  • datetime.date.fromisoformat(date_string): 将 ISO 格式字符串转换为 date 对象。
  • datetime.time.fromisoformat(time_string): 将 ISO 格式字符串转换为 time 对象。

以上是 datetime 模块中一些常用的类和函数,可以方便地进行日期时间的处理和转换。

strftime() 方法

datetime.strftime()作用: 将 datetime 对象格式化为字符串。

strftime() 方法是时间格式化最有效的方法,几乎可以以任何通用格式输出时间。例如下面的例子,用该方法输出特定格式时间。

from datetime import datetime
today = datetime.now()
print(today.strftime("%Y-%m-%d %H : %M : %S"))
# 执行结果
2023-07-03 08 : 49 : 40

下表是 strftime() 方法的格式化控制符:

格式化字符串日期/时间值范围和实例
%Y年份0001~9999
%m月份01~12
%B月名January~December
%b月名缩写Jan~Dec
%d日期01~31
%A星期Monday~Sunday
%a星期缩写Mon~Sun
%H小时(24 h 制)00~23
%M分钟00~59
%S00~59
%x日期月/日/年,例如,01/01/2022
%X时间时 :分:秒,例如,19 : 09 : 31

strftime() 格式化字符串的数字左侧会自动补零,上述格式也可以与 print() 的格式化函数起使用,例如:

from datetime import datetime
now = datetime.now()
print(now.strftime("%Y- %m- %d")) # 2023- 07- 03
print(now.strftime('%A, %d. %B %Y %H : %M%p')) # Monday, 03. July 2023 10 : 05AM
ft = now.strftime('%Y{y}%m{m}%d{d} %H{h}%M{f}%S{s}').format(y='年', m='月', d='日', h='时', f='分', s='秒')
print(ft) # 2023年07月03日 10时02分54秒
print("今天是 {0:%Y} 年 {0:%m} 月 {0:%d} 日".format(now)) # 今天是 2023 年 07 月 03 日

到此这篇关于Python datetime库函数的详解的文章就介绍到这了,更多相关Python datetime库函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • django数据库迁移migration实现

    django数据库迁移migration实现

    这篇文章主要介绍了django数据库迁移migration实现,迁移任务是根据对models.py文件的改动情况,添加或者删除表和列,下面详细的相关内容需要的小伙伴可以参考一下
    2022-02-02
  • 结合Python工具使用TfidfVectorizer进行文本特征提取方式

    结合Python工具使用TfidfVectorizer进行文本特征提取方式

    在自然语言处理中,TF-IDF是一种重要的特征提取方法,本文介绍了如何使用Python的sklearn库中的TfidfVectorizer进行文本特征提取,首先,需要安装sklearn库,TfidfVectorizer能将文本文档集合转换为TF-IDF特征矩阵
    2024-10-10
  • Python必知必会之os模块实例详解

    Python必知必会之os模块实例详解

    os模块是Python标准库中整理文件和目录最为常用的模块,该模块提供了非常丰富的方法用来处理文件和目录,下面这篇文章主要给大家介绍了关于Python必知必会之os模块的相关资料,需要的朋友可以参考下
    2022-10-10
  • python数字图像处理之基本图形的绘制

    python数字图像处理之基本图形的绘制

    这篇文章主要为大家介绍了python数字图像处理之基本图形的绘制,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 基于pygame实现贪吃蛇小游戏示例

    基于pygame实现贪吃蛇小游戏示例

    大家好,本篇文章主要讲的是基于pygame实现贪吃蛇小游戏示例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • python按键按住不放持续响应的实例代码

    python按键按住不放持续响应的实例代码

    今天小编就为大家分享一篇python按键按住不放持续响应的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python测试框架pytest核心库pluggy详解

    Python测试框架pytest核心库pluggy详解

    这篇文章主要为大家介绍了Python测试框架pytest核心库pluggy使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Python with的用法

    Python with的用法

    with 语句是从 Python 2.5 开始引入的一种与异常处理相关的功能。with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等。
    2014-08-08
  • python基础学习之递归函数知识总结

    python基础学习之递归函数知识总结

    在函数中调用函数自身,我们把这样的函数叫做递归函数, 递归函数就是循环的调用,类似于俄罗斯套娃,本文给各位小伙伴详细介绍了python递归函数,需要的朋友可以参考下
    2021-05-05
  • django如何自己创建一个中间件

    django如何自己创建一个中间件

    这篇文章主要介绍了django如何自己创建一个中间件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07

最新评论