1.时间元组的概念
Python函数用一个元组装起来的九组数字处理时间
0 tm_year 2008
1 tm_mon 1 到 12
2 tm_mday 1 到 31
3 tm_hour 0 到 23
4 tm_min 0 到 59
5 tm_sec 0 到 61 (60或61 是闰秒)
6 tm_wday 0到6 (0是周一)
7 tm_yday 一年中的第几天,1 到 366
8 tm_isdst 是否为夏令时,值有:1(夏令时)、0(不是夏令时)、-1(未知),默认 -1
注:时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。太遥远的日期也不行,UNIX和Windows只支持到2038年。
import time
# 获取当前时间
print('系统当前时间(时间戳):',time.time())
print('当前时区:',time.timezone)
local_time = time.localtime(time.time())
print('本地时间:',local_time)
print('年:',local_time.tm_year)
print('月:',local_time.tm_mon)
print('日:',local_time.tm_mday)
print('小时:',local_time.tm_hour)
print('分钟:',local_time.tm_min)
print('秒:',local_time.tm_sec)
print('星期(0-6):',local_time.tm_wday) # 0是周一
print('一年中第几天:',local_time.tm_yday)
print('是否夏令时:',local_time.tm_isdst)
stuctTime = time.struct_time((2017,6,26,14,15,10,50,0,177,0))
print('什么类型:',type(stuctTime))
2.time
import time
# 格式化时间
formatTime = time.asctime(local_time)
print('格式化时间1:',formatTime)
formatTime2 = time.strftime('%Y-%m-%d %H:%M:%S %a %b %d',time.localtime())
print('格式化时间2:',formatTime2)
# 格式化时间转时间戳:参数(time.struct_time)
print('时间戳:',time.mktime(local_time))
# 时间格式化参考
# %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 当前时区的名称
# %% %号本身
2.date
import time
from datetime import date
import datetime
# 当前系统时间
now = date.today()
oneDay = datetime.timedelta(days=1)
yesterday = now - oneDay
print('现在时间:',now)
print('一天的时间:',oneDay,type(oneDay))
print('昨天的时间:',yesterday.strftime('%Y-%m-%d %H:%M:%S'))
# 日期格式化
theDate = datetime.date(2017,6,22)
print('创建日期:',theDate)
# 格式化日期
print('当前格式化日期:',time.strftime('%Y-%m-%d %H:%M:%S'))
print('当前时间戳:',time.time())
# 创建时间
print('创建时间1:',datetime.datetime(2017,6,22,23,59,59))
3.calendar
# 日历
import calendar
# 获取七月份日历
sixMon = calendar.month(2017,7)
print('六月份:',sixMon)
# 返回一个多行字符串格式的year年年历,3个月一行,间隔距离为c。
# 每日宽度间隔为w字符。每行长度为21* W+18+2* C。l是每星期行数。
yearMon = calendar.calendar(2017,w=2,l=1,c=6)
print(yearMon)