广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python的datetime模块有哪些类型
  • 538
分享到

Python的datetime模块有哪些类型

2023-06-02 02:06:58 538人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容介绍了“python的datetime模块有哪些类型”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  datetime 模块提供了可

本篇内容介绍了“python的datetime模块有哪些类型”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

  datetime 模块提供了可以通过多种方式操作日期和时间的类。在支持日期时间数学运算的同时,实现的关注点更着重于如何能够更有效地解析其属性用于格式化输出和数据操作。

  datetime 模块中提供了六种可用类型,分别是:

  1、类 datetime.date:表示一个理想日期,属性有 year、month、day;

  2、类 datetime.time:表示一个理想时间,属性有 hour、minute、second、microsecond 和 tzinfo;

  3、类 datetime.datetime:表示日期和时间的组合,属性有 year、month、day、hour、minute、second、microsecond 和 tzinfo;

  4、类 datetime.timedelta:表示两个 date 对象或者 time 对象,或者 datetime 对象之间的时间间隔,精确到微秒。属性有 days、seconds、microsecond;

  5、类 datetime.tzinfo:表示时区信息对象的抽象基类,用于给 datetime 类和 time 类提供自定义的时间调整概念(例如,负责时区或者夏令时)。

  6、类 datetime.timezone:一个实现了 tzinfo 抽象基类的子类,用于表示相对于 世界标准时间(UTC)的偏移量。

  在以上六种可用类型中,datetime 为 date 的子类,timezone 为 tzinfo 的子类。另外除了以上六种类型,datetime 模块还提供了两个常量,datetime.MINYEAR:表示 date 或 datetime 对象中允许的最小年份,其值为 1;datetime.MAXYEAR:表示 date 或 datetime 对象中允许的最大年份, 其值为 9999。

  下面将详细介绍前四种可用类型

  datetime.date

  date 是一种具体日期类型,它的实例对象支持大于、小于、大于等于、小于等于、等于运算,得到 bool 值;支持加上一个 timedelta 对象的加法运算,得到 date 对象;支持减去一个 date 或 timedelta 对象的减法运算,得到 timedelta 或 datetime 对像。

  另外,date 对象可以作为字典的键,在布尔上下文中,所有 date 对象都被认为是 True。

  详细介绍如下:

  构造函数: datetime.date(year, month, day)

  参数:

  第一个参数表示年,取值范围为 MINYEAR <= year <= MAXYEAR; MINYEAR=1, MAXYEAR=9999

  第二个参数表示月,取值范围为 1 <= month <= 12

  第三个参数表示日,取值范围为 1 <= day <= 给定年份该月份的最大天数

  类属性

  min:可表示的最早期日,即 date(MINYEAR, 1, 1)

  max: 可表示的最大日期,即 date(MAXYEAR, 12, 31)

  resolution:非相等日期之间的最小可能差异,即 timedelta(days=1)

  类方法(常用构造方法)

  fromtimestamp(cls, t)

  功能:返回与 POSIX 时间戳对应的本地日期

  参数:cls 表示 date 类,t 表示时间戳

  返回值:一个 date 对象

  today(cls)

  功能:获取当前时刻的日期

  参数:cls 表示 date 类,自动传入

  返回值:一个 date 对象

  fromisofORMat(cls, date_string)

  功能:从提供的 date_string 中构造一个日期

  参数:cls 表示 date 类;date_string 表示日期字符串,其格式为 YYYY-MM-DD

  返回值:一个 date 对象

  实例属性(只读,其实是静态属性)

  year:返回年

  month:返回月

  day:返回日

  实例方法(常用)

  ctime(self)

  功能:返回 ctime() 风格的日期字符串

  参数:self 表示对象本身

  返回值:一个字符串

  strftime(self, format)

  功能:按照指定的格式返回日期

  参数:self 表示对象本身,format 表示格式字符串

  返回值:一个字符串

  isoformat(self)

  功能:返回根据 ISO 格式化的日期。格式为:YYYY-MM-DD

  参数:self 表示对象本身

  返回值:一个字符串

  replace(year=self.year, month=self.month,day=self.day)

  功能:为指定字段返回具有新值的新日期

  参数:分别是年,月,日,不提供则默认为 self 对应的值

  返回值:一个新的 date 对象

  timetuple(self)

  功能:返回与 time.localtime() 兼容的本地时间元组

  参数:self 表示对象本身

  返回值:时间元组

  weekday(self)

  功能:以整数形式返回星期几,其中星期一为 0,星期日为 6

  参数:self 表示对象本身

  返回值:一个整数

  isoweekday(self)

  功能:以整数形式返回星期几,其中星期一为 1,星期日为 7

  参数:self 表示对象本身

  返回值:一个整数

  isocalendar(self)

  功能:返回I年、第几周、周几

  参数:self 表述对象本身

  返回值:返回一个包含ISO年,周号和工作日的三元组。

  datetime.datetime

  datetime 模块下的 datetime 是 date 类的一个子类,它的实例对象支持大于、小于、大于等于、小于等于运算,得到 bool 值;支持加上一个 timedelta 对象的加法运算,得到 datetime 对象;支持减去一个 datetime 或 timedelta 对象的减法运算,得到 timedelta 或 datetime 对像。

  datetime 对象还可以作为字典的键值,并且,在 bool 上下文中,datetime 对象都被认为是 True。

  详细介绍如下:

  构造函数:datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)

  其中,year、month 和 day 是必须要传入的参数,hour、minute、second、microsecond、fold 默认为 0, tzinfo 默认为 None,也可以传入 tzinfo 子类的实例( tzinfo 是一个抽象类)

  注意:除 tzinfo 外,其他参数都要是整数

  参数:

  第一个参数表示年,取值范围为 MINYEAR <= year <= MAXYEAR; MINYEAR=1, MAXYEAR=9999

  第二个参数表示月,取值范围为 1 <= month <= 12

  第三个参数表示日,取值范围为 1 <= day <= 给定年份该月份的最大天数

  第四个参数表示时,取值范围为 0 <= hour <= 23

  第五个参数表示分,取值范围为 0 <= minute <= 59

  第六个参数表示秒,取值范围为 0 <= second <= 59

  第七个参数表示微秒,取值范围为 0 <= microsecond < 1000000

  第八个参数表示时区信息对象,默认 tzinfo=None,一般用不到

  fold 参数是3.6版本新加入的,取值范围为[0, 1]。该参数需要以关键字的形式传入

  fold 参数的详解请参考:docs.Python.org/3/library/datetime.html#datetime-objects

  类属性:

  min:表示最早的 datetime 对象, 同于 datetime(MINYEAR, 1, 1, tzinfo=None)

  max:表示最晚的 datetime 对象, 同于 datetime(MAXYEAR, 12, 31, 23, 59, 59, 999999, tzinfo=None)

  resolution:表示两个非相等 datetime 对象之间可能的最小差

  类方法(常用构造方法):

  fromtimestamp(cls, t, tz=None)

  功能:根据时间戳构造一个 datetime 对象

  参数:cls表示 datetime 类(自动传入),t 表示时间戳, tz表示时区信息对象,默认为 None

  返回值:一个 datetime 的实例对象

  utcfromtimestamp(cls, t)

  功能:创建一个 UTC 时间 的 datetime 对象

  参数:cls 表示 datetime 类, t 表示时间戳

  返回值:一个 datetime 对象

  now(cls, tz = None)

  功能:获取当前的时间,格式为:2019-09-29 15:40:01.972076

  参数:cls表示 datetime 类(自动传入),tz表示时区信息对象,默认为 None

  返回值:基于当前时刻的时间戳创建的 datetime 对象

  说明:其实就是 t = time.time(); return cls.fromtimestamp(t, tz)

  utcnow(cls)

  功能:获取当前的 UTC 时间, 格式为:2019-10-08 00:03:34.749434

  参数:cls表示 datetime 类(自动传入)

  返回值:一个 datetime 对象

  说明:其实就是 t = time.time(); return cls.utcfromtimestamp(t)

  combine(cls, date, time, tzinfo=True)

  功能:根据给定的日期和时间创建一个 datetime 对象。如果提供了tzinfo 参数,则使用其值设置返回对象的 tzinfo 属性,否则使用time参数的tzinfo属性

  参数:cls 表示 datetime 类,date 表示日期对象,time 表示时间对象

  返回值:一个datetime 对象

  fromisoformat(cls, date_string)

  功能:根据 date_string 给定的格式创建一个 datetime 对象

  参数:cls 表示 datetime 类,date_string 表示一个时间日期字符串,其格式为:YYYY-MM-DD[*HH[:MM[:SS[.fff[fff]]]][+HH:MM[:SS[.ffffff]]]]

  返回值:一个 datetime 对象

  说明:若字符串中没有包含时分秒,则其值默认为零

  strptime(cls, date_string, format)

  功能:按照给定的格式解析表示时间日期的字符串,并以此创建一个 datetime 对象

  参数:cls 表示类本身,date_string 表示时间日期字符串(如:'2019-11-06'),format 表示格式字符串(如:'%Y-%m-%d')

  返回值:一个 datetime 对象

  实例属性(只读,其实是静态属性)

  year:返回年

  month:返回月

  hour:返回小时

  minute:返回分钟

  second: 返回秒

  microsecond: 返回微秒

  tzinfo: 返回时区信息对象

  fold: 返回 fold 的值(其实 fold 是类 datetime 在__new__方法中定义的一个默认为 0 的参数,需要以关键字参数的形式传入)

  实例方法(常用)

  timetuple(self)

  功能:返回与 time.localtime() 兼容的本地时间元组

  参数:self 表示对象本身

  返回值:时间元组

  timestamp(self)

  功能:返回与对象相应的时间戳

  参数:self 表示对象本身

  返回值:一个浮点数,表示时间戳

  utctimetuple(self)

  功能:返回与time.gmtime()兼容的UTC时间元组

  参数:self 表示对象本身

  返回值:时间元组

  date(self)

  功能:返回对象的日期部分

  参数:self 表示对象本身

  返回值:一个 datetime.date 对象,表示日期部分

  time(self)

  功能:返回对象的时间部分

  参数:self 表示对象本身

  返回值:一个 tzinfo 为 None 的 datetime.time 对象,表示时间部分

  timetz(self)

  功能:返回对象的时间部分

  参数:self 表示对象本身

  返回值:返回一个时间部分和 tzinfo 属性与 self 相同的 datetime.time对象

  replace(self, year=None, month=None, day=None, hour=None,

  minute=None, second=None, microsecond=None, tzinfo=True,

  *, fold=None)无锡妇科医院哪家好 Http://mobile.xasgyy.net/

  功能:返回为指定字段具有新值的新日期时间

  参数:对象本身和年月日...

  返回值:一个新的与 self 同类型的对象

  ctime(self)

  功能:返回代表时间和日期的字符串,格式为 ctime() 风格,如:Tue Oct 8 15:34:17 2019

  参数:self 表示对象本身

  返回值:一个表示时间日期的字符串

  strftime(self, format)

  功能:返回指定格式的时间日期字符串

  参数:format 表示时间日期的格式字符串

  返回值:一个字符串

  weekday(self)

  功能:返回星期几

  参数:self 表示对象本身

  返回值:一个[0, 6]的整数,0 表示星期一

  isoweekday(self)

  功能:返回星期几

  参数:self 表示对象本身

  返回值:一个[1, 7]的整数,1 表示星期一

  isocalendar(self)

  功能:返回I年、第几周、周几

  参数:self 表述对象本身

  返回值:返回一个包含ISO年,周号和工作日的三元组。

  datetime.time

  datetime 模块下的 time 类是一种具体的时间类型,它的实例代表一天(本地)的时间,与任何特定的日期无关,并且 time 对象可以通过 tzinfo 对象进行调整。time 的实例支持大于、小于、大于等于、小于等于的运算,并可以作为字典的键。在布尔上下文中,time 对象始终为 True

  详细介绍如下:

  构造函数: datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)

  它的各个参数的含义与范围都于 datetime 类中相应的参数相同,不同的是 datetime.time 类的所有参数都有默认值,

  所以在创建 datetime.time对象时可以不传入任何参数

  类属性:

  min:表示最早的时间,即 time(0, 0, 0, 0)

  max: 表示最晚的时间,即 time(23, 59, 59, 999999)

  resolution:表示两个非相等 time 对象之间可能的最小差异,即 timedelta(microseconds=1)

  # 这里需要注意,datetime.time 对象不支持算术运算

  类方法(常用构造方法)

  fromisoformat(cls, time_string)

  功能:按 time_string 提供的格式构造一个 time 对象

  参数:cls 表示 datetime.time 类,time_string 表示时间字符串

  返回值:一个 datetime.time 对象

  PS:time_string 提供的格式需要满足 time.isoformat() 要求的格式,具体为:HH[:MM[:SS[.fff[fff]]]][+HH:MM[:SS[.ffffff]]]

  实例属性(只读,其实是静态属性)

  hour:返回小时

  minute:返回分钟

  second: 返回秒

  microsecond: 返回微秒

  tzinfo: 作为 tzinfo 参数传递给时间构造函数的对象,如果没有传递则为 None。

  fold: 返回 fold 的值,0 或 1

  实例方法(常用)

  isoformat(self, timespec='auto')

  功能:以ISO格式返回表示时间的字符串,即 HH:MM:SS.ffffff,如果 microsecond为 0,则返回HH:MM:SS

  参数:self 表示对象本身;timespec用于指定要包括的时间的其他组成部分的数量,它的值可以是下面的一种

  'auto':如果 microsecond 是 0 则格式同 'seconds',否则同 'microseconds'

  'hours':包含 hour,并采用 HH 格式

  'minutes':包含 hour 和 minute,并采用 HH:MM 格式

  'seconds':包含 hour、minute、second,并采用 HH:MM:SS 格式

  'milliseconds':包括全部,但将小数秒部分截短(是直接舍去,而不是四舍五入)至毫秒。即 HH:MM:SS.sss 格式

  'microseconds':包括 HH:MM:SS.ffffff 格式的全部时间。

  返回值:一个字符串

  strftime(self, format)

  功能:返回表示时间的字符串,由明确的格式字符串控制

  参数:self 表示对象本身,format 表示格式字符串,如:'%H:%M:%S'

  返回值:一个字符串

  datetime.timedelta

  timedelta 类的实例表示持续时间,即两个日期或时间的差。它的对象支持比较运算,加或减去一个同类型对象,乘或除一个整数,一元加、减,和 abs 运算,支持 divmod() 函数;timedelta 还可以作为字典键。在布尔上下文中,当且仅当 timedelta 对象不为 timedelta(0) 时,表示为 True。

  详细介绍如下:

  构造函数: datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

  参数:所有参数都是可选的,且参数可以是整数或浮点数,也可以是正数或负数

  类属性

  min: 表示最负的 timedelta 对象,即 timedelta(-999999999)

  max:表示最正的 timedelta 对象,即 timedelta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999)

  resolution:表示两个不相等的 timedelta 对象之间可能的最小差,即 timedelta(microseconds=1)

  实例属性(只读,其实是静态属性)

  days: 返回天数,介于-999999999和999999999之间

  seconds: 返回秒数,介于0至86399(含)之间

  microseconds:返回毫微秒数,介于0至999999(含)之间

  实例方法

  total_seconds(self)

  功能:返回持续时间中包含的总秒数

  参数:self表示对象本身

  返回值:一个浮点数

“Python的datetime模块有哪些类型”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Python的datetime模块有哪些类型

本文链接: https://www.lsjlt.com/news/228584.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python的datetime模块有哪些类型
    本篇内容介绍了“Python的datetime模块有哪些类型”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  datetime 模块提供了可...
    99+
    2023-06-02
  • Python中有哪些模块类型
    本篇文章给大家分享的是有关Python中有哪些模块类型,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。内置标准模块,又称为标准库,如 sys、time、math、json 模块等...
    99+
    2023-06-15
  • Python时间数据类型的模块有哪些
    这篇文章主要介绍“Python时间数据类型的模块有哪些”,在日常操作中,相信很多人在Python时间数据类型的模块有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python时间数据类型的模块有哪些”的疑...
    99+
    2023-06-02
  • python中有哪些模块类
    本篇文章给大家分享的是有关python中有哪些模块类,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WE...
    99+
    2023-06-14
  • Python中的datetime模块有什么用
    datetime模块是Python中处理日期和时间的标准库,提供了一系列用于处理日期、时间、时间间隔和日期时间的类和函数。它的主要用...
    99+
    2023-09-23
    python
  • C++中CLI模块的基本类型有哪些
    本文小编为大家详细介绍“C++中CLI模块的基本类型有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++中CLI模块的基本类型有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。数值类型对于基本的数值类型...
    99+
    2023-07-02
  • Python有哪些模块
    本篇内容介绍了“Python有哪些模块”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!os模块 —— 文件操作系统:os,经常装系统的人可能经...
    99+
    2023-06-02
  • 实用的Python模块有哪些
    这篇文章主要介绍“实用的Python模块有哪些”,在日常操作中,相信很多人在实用的Python模块有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”实用的Python模块有哪些”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-29
  • python的内置模块有哪些
    python中的内置模块有以下常见的几种time模块time模块提供了大量对时间进行处理的方法,其中包括获取时间戳、获取本地时间、格式化输出时间等功能。random模块random模块主要用于生成随机数,也可以使用random模块随机生成数...
    99+
    2022-10-15
  • Python常见的模块有哪些
    本篇内容主要讲解“Python常见的模块有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python常见的模块有哪些”吧!python可以做什么?如果把开发按照层次划分的话,可以分成系统开发...
    99+
    2023-06-02
  • python有哪些算法模块
    python中的算法模块有以下几种hashlib模块hashlib是一个个专门提供hash算法的模块,其支持openssl库提供的所有算法,包括md5、sha1、sha224、sha256、sha384、sha512、md5等算法。pygo...
    99+
    2022-10-21
  • python外置模块有哪些
    python中的外置模块有以下几种RabbitMQ模块RabbitMQ是一个在AMQP基础上完整的、可复用的企业消息系统,其遵循Mozilla Public License开源协议,是一种应用程序对应用程序的通信方法。PyQt模块PyQt是...
    99+
    2022-10-15
  • python扩展模块有哪些
    python中常用的扩展模块有以下几种os模块os模块提供了多数操作系统的功能接口函数,当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作。sys模块sys是一个提供了一系列有关python运行环境变量和函数的...
    99+
    2022-10-04
  • python 画布模块有哪些
    python中的画布模块有turtle和matplotlib两个turtle模块turtle是Python中一个很流行的绘制图像的函数库,使用turtle可以在一个横轴为x、纵轴为y的坐标系原点(0,0)位置开始的画布中,根据一组函数指令的...
    99+
    2022-10-24
  • Python DateTime的模块如何在相关类方法中的整理
    Python DateTime的模块如何在相关类方法中的整理,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。相关联的模块还有time与calendar 其中的time我们上面已经...
    99+
    2023-06-17
  • Python模块的几种类型介绍
    这篇文章主要介绍“Python模块的几种类型介绍”,在日常操作中,相信很多人在Python模块的几种类型介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python模块的几种类型介绍”的疑惑有所帮助!接下来...
    99+
    2023-06-17
  • python中有哪些常用的模块
    python中有哪些常用的模块,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Python是一种面向对象、直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具...
    99+
    2023-06-17
  • Python的os模块有哪些功能
    这篇文章主要介绍“Python的os模块有哪些功能”,在日常操作中,相信很多人在Python的os模块有哪些功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python的os模块有哪些功能”的疑惑有所帮助!...
    99+
    2023-06-27
  • python的序列类型有哪些
    python中序列的类型:1.可变序列,创建序列后可以改变序列的元素;2.不可变序列,创建序列后序列的元素无法修改;3.容器序列,存放的是实际对象的引用;4.扁平序列,存放的是对象的值;python中序列的类型有以下几种可变序列可变序列是指...
    99+
    2022-10-12
  • Python对象的类型有哪些
    Python中对象的类型分为可变对象和不可变对象两种可变对象Python中可变对象是指对象的内容可变,允许对自身内容进行修改,可变对象包括list、set、dict、自定义对象几种。不可变对象Python中不可变对象是指在保持对象不变的前提...
    99+
    2022-10-24
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作