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)
- 格式化时间:将时间根据需要格式化,格式化的结构使时间更具可读性。
三种形式的相互转化
格式化时间
- %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)
-
time.strptime(string[, format])
将一个字符串转换为时间元祖,要指定和字符串对应的格式
import time
d = time.strptime("2018-10-31","%Y-%m-%d")
print(d)
-
time.asctime([t])
将一个时间元祖转换为固定格式的时间字符串,默认传入localtime()返回值
import time
d = time.asctime()
print(d)
-
time.ctime([secs])
将传入的时间戳直接转换固定格式的字符串,默认传入time()返回值
import time
d = time.ctime()
print(d)
日历(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模块