文章目录
- 简介
- Python表示时间的几种方式
- time
- datetime
简介
Python中提供了对日期和实践的丰富多样的处理方式,其中主要有time与datetime这两个模块。本文将为各位介绍这两个模块在使用上的区别与联系。
Python表示时间的几种方式
时间戳:相对于1970.1.1 00:00:00以秒计算的偏移量,时间戳是唯一的。
时间元组:也就是struct_time,其中有九个元素,其中的含义如下表所示,同一个时间戳的struct_time会因为时区不同而变化。
元素 | 含义 |
tm_year | 年,四位数字,例如:2022 |
tm_mon | 月,范围1-12 |
tm_mday | 日,范围1-31 |
tm_hour | 时,范围0-23 |
tm_min | 分,范围0-59 |
tm_sec | 秒。范围0-59 |
tm_wday | 周,范围0-6,其中0表示周日 |
tm_yday | 表示一年中的第几天,范围1-366 |
tm_isdst | 表示是否为夏令时,默认为-1 |
time
在 Python 文档里,time是归类在Generic Operating System Services中,这也就意味着, 它提供的功能是更加接近于操作系统层面的。同各国阅读稳当我们可以知道,time 模块是围绕着 Unix Timestamp 进行的。
该模块主要包括一个类 struct_time,以及另外其他几个函数和相关常量。不过值得注意的是,该模块中大多数函数是调用了所在平台C library的同名函数, 所以要特别注意有些函数是平台相关的(如:time.clock()),可能会在不同的平台有不同的效果。还有值得留意的是,它能够表述的日期范围被限定在了1970-2038之间,如果需要处理在这范围外的日期,那么使用datetime模块会更好一些。
datetime
datetime乍一看功能比time丰富了不少,事实也确实如此,datetime基于time进行了封装,提供了更多实用的函数,在datetime模块中包含了几个类,具体如下:
类名 | 作用 |
timedelta | 主要用于计算时间跨度 |
tzinfo | 时区相关 |
time | 只关注时间 |
date | 只关注日期 |
datetime | 同时关注时间日期 |
在实际实用中,用得比较多的是 datetime.datetime 和 datetime.timedelta ,另外两个 datetime.date 和 datetime.time 实际使用和 datetime.datetime 并无太大差别。