python3 time模块解释

  • 2020 年 1 月 10 日
  • 筆記

time()

time() 模块继承自 Object 类,datetime() 模块继承自 Object 下面的 Date() 模块。

time 提供的功能更加接近于操作系统层面,其所能表述的日期范围被限定在 1970 – 2038 之间,如果要处理更广的日期,那需要使用 datetime 模块。

time() 内置函数

time.time() 返回当前时间的时间戳 secs

print(time.time())  1508977857.868619

时间戳可用于 time() 模块的其他内置函数,比如 localtime,ctime,gmtime


time.localtime([secs])

接收时间戳,返回指定时间戳的当地时间的时间元组,参数留空,返回当地时间的当前时间元组

import time  t = time.time()    # 获得时间戳  a = time.localtime(t)  # 获得当地时间的时间元组  b = time.gmtime(t)     # 获得格林威治时间的时间元组

time.gmtime()

接收时间戳,返回格林威治天文时间下的时间元组。

import time  t = time.time()    # 获得时间戳  a = time.localtime(t)  # 获得当地时间的时间元组  b = time.gmtime(t)     # 获得格林威治时间的时间元组

注意比较 localtime() 和 gmtime() 函数返回结果的区别,两者的差别,就是时区的差别时差。

localtime() 和 gmtime() 都是接收 time.time() 返回的时间戳,返回结果都是一个时间元组。 而接收时间元组的函数有 asctime,strftime,


time.asctime([tupletime])

接受时间元组并返回一个可读的形式为”Tue Dec 11 18:07:14 2008”(2008年12月11日 周二18时07分14秒)的24个字符的字符串。

import time  t = time.time()    # 获得时间戳  a = time.localtime(t)  # 获得当地时间的时间元组  b = time.gmtime(t)     # 获得格林威治时间的时间元组    print('time.asctime %s' %(time.asctime(a)))   # 获得时间的字符串  print('time.asctime %s' %(time.asctime(b)))   # 获得时间的字符串

time.strftime(srt_format[,tupletime])

接收时间元组,返回当地时间,第一个参数是一个字符串形式的格式化字符

import time  t = time.time()    # 获得时间戳  a = time.localtime(t)  # 获得当地时间的时间元组  b = time.gmtime(t)     # 获得格林威治时间的时间元组    print('time.asctime %s' %(time.asctime(a)))   # 获得时间的字符串  print('time.asctime %s' %(time.asctime(b)))   # 获得时间的字符串  print('time.strftime %s' %(time.strftime('%Y-%m-%d %H:%M:%S',a)))  # 获得指定格式的等地时间

结果

time.asctime Thu Oct 26 08:49:50 2017  time.asctime Thu Oct 26 00:49:50 2017  time.strftime 2017-10-26 08:49:50

日期格式化符号

格式符号统一适用于 datetime() 模块,常用的有 %Y-%m-%d %H:%M:%S 以及 %c (标准时间)

格式符 说明  %a    星期的英文单词的缩写:如星期一, 则返回 Mon  %A    星期的英文单词的全拼:如星期一,返回 Monday    %b    月份的英文单词的缩写:如一月, 则返回 Jan  %B    月份的引文单词的缩写:如一月, 则返回 January    %c    返回datetime的字符串表示,如03/08/15 23:01:26    %d    返回的是当前时间是当前月的第几天    %f    微秒的表示: 范围: [0,999999]    %H    以24小时制表示当前小时  %I    以12小时制表示当前小时    %j    返回当天是当年的第几天 范围[001,366]    %m    返回月份 范围[0,12]  %M    返回分钟数 范围 [0,59]    %P    返回是上午还是下午–AM or PM    %S    返回十进制的秒数 范围 [0,61]    %U    返回当周是当年的第几周 以周日为第一天  %W    返回当周是当年的第几周 以周一为第一天    %w    当天在当周的天数,范围为[0, 6],6表示星期天    %x    日期的字符串表示 :03/08/15  %X    时间的字符串表示 :23:22:08  %y    两个数字表示的年份 15  %Y    四个数字表示的年份 2015  %z    与utc时间的间隔 (如果是本地时间,返回空字符串)  %Z    时区名称(如果是本地时间,返回空字符串)

time.sleep(secs) 最为常用

休眠,时间暂停指定的秒数

import time  print('当前时间 %s' %(time.ctime()))  time.sleep(3)  print('当前时间 %s' %(time.ctime()))