一、date模块
"""
主要包含处理年月日时分秒对应的时间(着重时分秒)
"""
import time
"""
专门处理年月日
"""
import datetime
if __name__ == '__main__':
# 1.获取当前时间
"""
时间戳:就是从格林威治时间(1970年1月1日0:0:0)到当前时间的时间差(单位是秒)
'2010年10月10日 12点10分'
a.存时间以时间戳的形式去存,可以节省内存空间(一个浮点数的内存是4/8个字节,存一个字符占用2个字节)
b.自带加密对时间加密的功能(加密更方便)
"""
time1 = time.time()
print(time1, type(time1))
# 2.将时间戳转换成struct_time
"""
localtime(seconds)
参数seconds:a.不传参,就是将当前时间对应的时间戳转换成struct_time
b.传参,将指定的时间转换成struct_time
"""
time1 = time.localtime()
print(time1)
"""
struct_time的结构:
tm_year:年
tm_mon:月
tm_mday:日
tm_hour:时
tm_min:分
tm_sec:秒
tm_wday:星期(0-6 --- 周一-周日)
tm_yday:今天是今年的第几天
tm_isdst:是否是夏令时
"""
print(time1.tm_year, time1.tm_mon, time1.tm_mday)
# 2.1 将struct_time 转换成时间戳
"""2018-8-31 23:30:40"""
print('-'*20)
strc21 = time.strptime('2018-8-31 23:30:40', '%Y-%m-%d %H:%M:%S')
print(strc21)
strc22 = time.mktime(strc21)
print(strc22)
strc22 += 60*60
print(strc22)
strc21 = time.localtime(strc22)
print(strc21)
print('-'*20)
# 3.时间格式的转换
"""
strftime(时间格式,时间)
将时间以指定的格式转换成字符串
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%h 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 当前时区的名称
%% %号本身
"""
time2 = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print(time2)
"""
trptime(需要转换的字符串,时间格式)
将时间字符串转换成相应的struct_time
"""
struct_time2 = time.strptime('今天是2018年8月9号', '今天是%Y年%m月%d号')
struvt_time3 = time.strptime('2018-8-10', '%Y-%m-%d')
print(struct_time2)
print(struvt_time3)
# 4.延时
"""
sleep(second)
可以让线程阻塞指定的时间
"""
time.sleep(5)
二、datetime模块
import datetime
if __name__ == '__main__':
# 1.日期类(date)
"""a.类的字段"""
# 最小日期
print(datetime.date.min, type(datetime.date.min))
# 最大日期
print(datetime.date.max, type(datetime.date.max))
# 分辨率
print(datetime.date.resolution)
# 2.类方法
# 获取今天的日期
today = datetime.date.today()
print(today)
# 将时间戳转换成日期
this_day = datetime.date.fromtimestamp(0)
print(this_day)
#
"""b.对象属性"""
max_y = datetime.date.max
print(max_y.year, type(max_y.year))
print(max_y.month)
print(max_y.day)
"""c.对象方法"""
# 获取星期(0-6 对应的是 周一-周日)
week_day = today.weekday()
# 获取星期(1-7 对应的是 周一-周日)
print(today.isoweekday())
# 将日期转换成ctime格式 Thu Aug 9 00:00:00 2018
print(today.ctime())
# 将日期转换成指定的格式
print(today.strftime('%Y-%m-%d'))
# 将日期转化成struct_time
print(today.timetuple())
"""d.创建日期对象"""
print(datetime.date(2017, 8, 8))
# =======datetime类=========
dt1 = datetime.datetime(2018, 8, 9, 16, 15, 50, 10)
print(dt1)
dt2 = dt1.hour
print(dt2)
# 将时间戳转换成datetime
print(datetime.datetime.fromtimestamp(1020202))
# now(时区):获取当前时间
print(datetime.datetime.now())
网友评论