Python入门教程7时间日期time高精度时钟格式化日期与输出日历 (1)



Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。

time 高精度时钟

Python 的 time 模块下有很多函数可以转换常见日期格式。如函数time.time()用于获取当前时间戳,

import time

print(time.time())

输出,输出单位为秒

1625538265.310476

标准的time.time()函数提供次秒精度,该精度因平台而异。对于Linux和Mac,精度为+-1微秒或0.001毫秒。由于进程中断导致的时钟实现问题,Windows上的python使用+-16毫秒的精度。如果要测量执行时间,timeit模块可以提供更高的分辨率。

Python 的时钟是要比JS的精确的,JS时钟的精确度只到毫秒。比如:

Date.now()  //1625540167489

当前时间与时间元组

可以将时间戳黑的成时间元组:

import time

localtime = time.localtime(time.time())
print(localtime)

输出:

time.struct_time(tm_year=2021, tm_mon=7, tm_mday=6, tm_hour=10, tm_min=24, tm_sec=25, tm_wday=1, tm_yday=187, tm_isdst=0)

time.localtime 返回的是时间元组,属性结构如下:

属性
tm_year 2008
tm_mon 1 到 12
tm_mday 1 到 31
tm_hour 0 到 23
tm_min 0 到 59
tm_sec 0 到 61 (60或61 是闰秒)
tm_wday 0到6 (0是周一)
tm_yday 1 到 366(儒略历)
tm_isdst -1, 0, 1, -1是决定是否为夏令时的旗帜

显示本地时间

最简单的获取可读的时间模式的函数是asctime(),将时间日期格式化输出:

import time
 
localtime = time.asctime( time.localtime(time.time()) )
print(localtime)

输出:

Tue Jul  6 10:24:25 2021

格式化时间

我们可以使用 time 模块的 strftime 方法来格式化日期,:

import time

print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
print(time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()))

输出:

2021-07-06 11:17:45
Tue Jul 06 11:17:45 2021

时间日期格式化符号:

  • %y 两位数的年份表示(00-99)
  • %Y 四位数的年份表示(000-9999)
  • %m 月份(01-12)
  • %d 月内中的一天(0-31)
  • %H 24小时制小时数(0-23)
  • %I 12小时制小时数(01-12)
  • %M 分钟数(00-59)
  • %S 秒(00-59)
  • %a 本地简化星期名称
  • %A 本地完整星期名称
  • %b 本地简化的月份名称
  • %B 本地完整的月份名称
  • %c 本地相应的日期表示和时间表示
  • %j 年内的一天(001-366)
  • %p 本地A.M.或P.M.的等价符
  • %U 一年中的星期数(00-53)星期天为星期的开始
  • %w 星期(0-6),星期天为星期的开始
  • %W 一年中的星期数(00-53)星期一为星期的开始
  • %x 本地相应的日期表示
  • %X 本地相应的时间表示
  • %Z 当前时区的名称
  • %% %号本身

获取日历

Calendar模块有很广泛的方法用来处理年历和月历,例如打印某月的月历:

import calendar

cal = calendar.month(2022, 1)
print(cal)

输出:

    January 2022
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

上一篇: 6 List列表、Tuple元组与Dictionary字典 下一篇: 8模块类与函数