首页 > 编程语言 >Python | datetime库函数的详解

Python | datetime库函数的详解

时间:2023-07-03 10:23:39浏览次数:50  
标签:Python datetime 对象 字符串 time date strftime 库函数

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

datetime 类

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

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
%S 00~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,对象,字符串,time,date,strftime,库函数
From: https://www.cnblogs.com/zhangxuegold/p/17522064.html

相关文章

  • Python - Create Virtual Environment
    Step1:Installpython3.10-venvsudoaptinstallpython3.10-venv Step2:Installpython3-pip (necessary)sudoaptinstallpython3-pip Step3:Createvirualenvironmentpython3-mvenvzpython Step4:Activatethevenvcdzpythonsourcebin/activate......
  • Python 3.10 - Original Packages
    zzh@ZZHPC:~$pip3listPackage                Version------------------------------------apturl                 0.5.2bcrypt                 3.2.0blinker                1.4Brlapi      ......
  • 风变Python智能交易:玩中学、学中做,让投资更简单
    智能化时代,投资领域也在发生着巨大的变化,新的投资方式正在影响着投资者的实际行动。比如量化交易方式的出现,就成为了投资者一致信赖的选择。量化交易本身,也成为了当下以及未来每一个合格的投资者应该掌握的技能。风变还专门推出了Python智能交易课程,旨在以更严谨、专业的方式,助......
  • dmPython连接达梦数据库,查询含有特殊字符报错'gbk' codec can't decode byte 0xaa in
     解决方法,可以在应用连接字符串url连接属性加上local_code=1指定客户端字符编码方式。#local_code=1表示执行客户端的本地编码是UTF-8,否则默认是GBKdm_conn=dmPython.connect(user=dm_user,password=dm_password,server='localhost',port=5236,local_code=1) 参考网......
  • 微信公众号_爬虫_fiddler_抓包_python
    wechat_python/run.pyfromsqlalchemyimportColumn,Integer,String,create_enginefromsqlalchemy.ormimportsessionmakerfromsqlalchemy.ext.declarativeimportdeclarative_baseBase=declarative_base()classArticleInfo(Base):__tablename__=�......
  • python: Enum
     #encoding:utf-8#Author:geovindu,GeovinDu涂聚文.#IDE:PyCharm2023.1python11#Datetime:2023/7/221:18#User:geovindu#Product:PyCharm#Project:pythonStudyDemo#File:CheckSort.py#explain:学习frome......
  • python之numpy模块
    1NumPy是什么?NumPy(全称:NumericPython)是python的第三方模块,主要用于计算、处理一维或多维数组。Numpy通常与Scipy(Python科学计算库),Matplotlib(Python绘图库),Pandas(Python数据处理)等组合使用,这样可以广泛的代替Matlab的使用。2为什么使用NumPy?Python中没有内置数组(array)类......
  • 【Python自制工具软件】批量图片转PDF小工具——PIC2PDF
    楔子大家在工作当中总会冒出各种各样的需求,尤其当面对繁琐的工作时。“如果有那样一款想象中的工具就好了!”可以瞬间解决手头工作的想象中的工具,是否存在呢?当然,然而获得它总是需要我们花费大量的时间去筛选甄别,有的充斥大量广告,有的则需要付出不菲的费用。其实完全可以自己上......
  • Python | 文件处理
    文件的读写文件对象在python中用open()可以创建一个文件对象。open()使用方法:open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)参数说明:file:必需,文件路径(相对或者绝对路径)。mode:可选,文件打开模式(常用)buf......
  • Google Colab:云端的Python编程神器
    GoogleColab,全名GoogleColaboratory,是GoogleResearch团队开发的一款云端编程工具,它允许任何人通过浏览器编写和执行Python代码。Colab尤其适合机器学习、数据分析和教育目的。它是一种托管式Jupyter笔记本服务,用户无需设置,就可以直接使用,同时还能获得GPU等计算资源的免费使用......