python常用模块-时间相关模块

python中时间显示的三种形式

  • 时间戳 :timestamp 时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量
  • 结构化时间:struct_time时间对象,也可以成为时间元祖(年、月、日、时、分、秒、星期、已经度过的一年的时间,夏令时标志符)(tm_year=2019, tm_mon=1, tm_mday=31, tm_hour=14, tm_min=42, tm_sec=36, tm_wday=3, tm_yday=31, tm_isdst=0)
  • 格式化时间:将时间根据需要格式化,格式化的结构使时间更具可读性。

三种形式的相互转化

python常用模块-时间相关模块

格式化时间

  • %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 本地相应的日期表示和时间表示 Thu Jan 31 16:36:47 2019
  • %j 年内的一天(001-366)
  • %p 本地A.M.或P.M.的等价符
  • %U 一年中的星期数(00-53)星期天为星期的开始
  • %w 星期(0-6),星期天为星期的开始
  • %W 一年中的星期数(00-53)星期一为星期的开始
  • %x 本地相应的日期表示 01/31/19
  • %X 本地相应的时间表示 16:38:52
  • %Z 当前时区的名称
  • %% %号本身

time模块常用方法

  • time.time()
    获取从1970年1月1日00:00:00开始按秒计算的偏移量,返回的是一个浮点值
  • time.localtime(sec)
    将传入的浮点值转换为当前时区时间结构型对象,如果不传值默认传入time.time()的返回值
  • time.gtime(sec)
    和localtime作用一样,只是将时区换为0时区
  • time.mktime(t)
    将传入的时间结构型对象转换为时间戳格式
  • time.strftime(format[, t])
    接收结构化时间,并返回可读字符串,格式由format决定。若t不传入,则默认传入localtime()的返回值
import time
d = time.strftime("%Y-%m-%d %H*%M*%S")
print(d)
# 2019-01-31 16*42*46
  • time.strptime(string[, format])
    将一个字符串转换为时间元祖,要指定和字符串对应的格式
import time
d = time.strptime("2018-10-31","%Y-%m-%d")
print(d)
#time.struct_time(tm_year=2018, tm_mon=10, tm_mday=31, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=304, tm_isdst=-1)
  • time.asctime([t])
    将一个时间元祖转换为固定格式的时间字符串,默认传入localtime()返回值
import time
d = time.asctime()
print(d)
#Thu Jan 31 17:03:28 2019
  • time.ctime([secs])
    将传入的时间戳直接转换固定格式的字符串,默认传入time()返回值
import time
d = time.ctime()
print(d)
#Thu Jan 31 17:03:28 2019
  • time.sleep(int)
    推迟调用线程的运行,secs指秒数

  • time.clock()
    用以浮点数计算的秒数返回当前的CPU时间。用来衡量不同程序的耗时,比time.time()更有用

日历(Calendar)模块

  • calendar.month(year, month)
import calendar
cal = calendar.month(2016, 1)

#################
January 2016
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

datetime模块