Python programming 7


时间是一条逆流的河。

Ax Date & Time | 时日

Python 程序可以通过多种方式处理日期和时间。在日期格式之间转换是计算机的一项常见工作。 Python 的时间和日历模块有助于跟踪日期和时间。

Tick

时间间隔是以秒为单位的浮点数。从 1970 年 1 月 1 日(纪元)00:00:00 开始,特定的时间点以秒表示。 Python 中有一个流行的time模块,它提供了处理时间和在表示之间转换的函数。函数 time.time() 返回自 1970 年 1 月 1 日(纪元)00:00:00 以来的当前系统时间(以刻度为单位)。

#!/usr/bin/python
import time
ticks = time.time()
print("Number of ticks since 12:00am, January 1, 1970:", ticks)

执行

Number of ticks since 12:00am, January 1, 1970: 1655858083.9189656

用刻度来计算日期很容易。 但是,纪元之前的日期不能用这种形式表示。 遥远未来的日期也不能用这种方式表示——截止点是UNIX和Windows的2038年的某个时候。

时间元组

许多Python的time函数将time处理为9个数字的元组,如下所示

Index Field Values
0 4-digit year 2008
1 Month 1 to 12
2 Day 1 to 31
3 Hour 0 to 23
4 Minute 0 to 59
5 Second 0 to 61 (60 or 61 are leap-seconds)
6 Day of Week 0 to 6 (0 is Monday)
7 Day of year 1 to 366 (Julian day)
8 Daylight savings -1, 0, 1, -1 means library determines DST

上面的元组等价于struct_time结构。该结构具有如下属性

Index Attributes Values
0 tm_year 2008
1 tm_mon 1 to 12
2 tm_mday 1 to 31
3 tm_hour 0 to 23
4 tm_min 0 to 59
5 tm_sec 0 to 61 (60 or 61 are leap-seconds)
6 tm_wday 0 to 6 (0 is Monday)
7 tm_yday 1 to 366 (Julian day)
8 tm_isdst -1, 0, 1, -1 means library determines DST

获取当前时间

要将时间瞬间从epoch浮点值起的一秒转换为时间元组,请将该浮点值传递给一个函数(例如,localtime),该函数将返回一个包含所有9个有效项的时间元组。

#!/usr/bin/python
import time

localtime = time.localtime(time.time())
print("Local current time :", localtime)

执行

    Local current time : time.struct_time(tm_year=2022, tm_mon=6, tm_mday=22, tm_hour=9, tm_min=51, tm_sec=12, tm_wday=2, tm_yday=173, tm_isdst=0)

格式化时间

您可以根据需要格式化任何时间,但是将时间格式化为可读格式的简单方法是asctime()

#!/usr/bin/python
import time;

localtime = time.asctime( time.localtime(time.time()) )
print("Local current time :", localtime)

执行

Local current time : Wed Jun 22 09:56:06 2022

获取某月的日历

日历模块提供了多种使用年历和月历的方法。在这里,我们打印给定月份的日历(2008 年 1 月)

#!/usr/bin/python
import calendar

cal = calendar.month(2008, 1)
print("Here is the calendar:")
print cal

执行

    January 2008
Mo Tu We Th Fr Sa Su
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

时间模块

Python中有一个流行的时间模块,它提供了处理时间和在表示之间转换的函数。

说明文档:https://docs.python.org/3.9/library/time.html

日历模块

calendar模块提供了与日历相关的函数,包括打印给定月份或年份的文本日历的函数。

默认情况下,日历将周一作为一周的第一天,周日作为一周的最后一天。要改变这一点,调用calendar.setfirstweekday()函数。

说明文档:https://docs.python.org/3.9/library/calendar.html

其它模块

关于时间的模块有很多,等待着你去发掘。


文章作者: Enomothem
版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Enomothem !
  目录