随心所欲地用Python处理时间(一)
共 1968字,需浏览 4分钟
·
2021-09-28 05:45
日期:年月日,如 20210612
时间:时分秒,如 20:45:50
Python标准库中包含日期(date)和时间(time)的数据类型,还有日历方面的功能。要比较系统的学习该模块,需要了解下面的两个概念。
UTC(全球标准时间):是全球范围内计时的科学标准,它基于精心维护的原子钟,在全球范围内精确到微秒,由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。作为全球最精确的时间系统,天文学家、航海家、“太空跟踪网”(DSN) 以及其他科学性学科都使用它,它的参考点是英国格林威治标准时间(GMT):地球本初子午线的午夜,也是 UTC 的午夜 (00:00:00.000000)。本地时间是根据地球上不同时区所处的位置调整 UTC 得来的,比如当美国加州的太平洋时间为正午 12:00:00 时,UTC 为 20:00:00。
夏令时(DST):表示为了节约能源, 人为规定时间的意思。也叫夏时制,夏时令(Daylight Saving Time:DST),又称"日光节约时制"和"夏令时间”,在这一制度实行期间所采用的统一时间称为“夏令时间”。一般在天亮早的夏季人为将时间调快一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。各个采纳夏时制的国家具体规定不同。全世界有近110个国家每年要实行夏令时。
感知型”和“简单型”对象:日期和时间对象可以根据它们是否包含时区信息而分为“感知型”和“简单型”两类。充分掌握应用性算法和政治性时间调整信息例如时区和夏令时的情况下,一个 感知型 对象就能相对于其他感知型对象来精确定位自身时间点。感知型对象是用来表示一个没有解释空间的固定时间点。简单型对象没有包含足够多的信息来无歧义地相对于其他 date/time 对象来定位自身时间点。
时间戳:Unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)
import time
time.time()
1625483470.3409266
Python内置的时间模块datetime包含下面的模块包含六个类和两个常数,提供了用于处理日期和时间的类和对应的方法,一般用于处理年、月、日、时、分、秒的统计和计算等需求,且这些类型的对象都是不可变的。最常用的是datetime.datetime,有些人误以为就一个模块,其实是datetime模块下的datetime类。
常量、类或方法名 | 注解 |
datetime.date | 一个理想化的简单型日期,它假设当今的公历在过去和未来永远有效。属性包含: year, month, day。 |
datetime.time | 一个独立于任何特定日期的理想化时间,它假设每一天都恰好等于 24*60*60 秒。这里没有“闰秒”的概念) 包含属性:hour、minute、second、microsecond 、tzinfo。 |
datetime.datetime | 是日期和时间的结合,属性包含year、month、day、hour、minute、second、 microsecond、 tzinfo.表示日期时间 |
datetime.timedelta | 表示两个 date 对象或者 time 对象,或者 datetime 对象之间的时间间隔,精确到微秒。 |
datetime.tzinfo | 一个描述时区信息对象的抽象基类。用来给datetime和time类提供自定义的时间调整概念(例如处理时区和/或夏令时)。 |
datetime.timezone | 一个实现了tzinfo抽象基类的子类,用于表示相对于世界标准时间(UTC)的偏移量。 |
datetime.MINYEAR | 常量,表示年份允许的最小值为1 |
datetime.MAXYEAR | 常量,表示年份允许的最大值为9999 |
今天先写到这里,下期在写每个模块的应用