时间模块
"""
主要包含处理年月日时分秒对应时间(着重时分秒)
import time
专门处理年月日
import datetime
"""
import time
import datetime
if __name__ == '__main__':
"""
1.获取当前时间
时间戳:就是从格林威治时间(1970年1月1日0:0:0)到当前时间的事件差(单位是秒)
(1)存时间以时间戳的形式去存,可以节省内存空间(一个浮点数的内存是4~8字节,存一个字符串一个字符占两个字节)
(2)自带对时间加密的功能(加密更方便)
"""
time1=time.time()
print(time1,type(time1)) #1533795606.1774344 <class 'float'>
"""
2.将时间戳转换成struct_time
localtime(seconds)
参数seconds:(1)不传参,就是将当前时间对应的时间戳转换成struct_time
(2)传参,就是将指定的时间转换成struct_time
"""
time1=time.localtime()
print(time1) #time.struct_time(tm_year=2018, tm_mon=8, tm_mday=9, tm_hour=14, tm_min=39, tm_sec=31, tm_wday=3, tm_yday=221, tm_isdst=0)
"""
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) #2018 8 9
"""
将时间戳转为struct_time
"""
struct1=time.localtime(100022)
print(struct1)
"""
将struct_time抓转换成时间戳
2018-8-31 23:30:40
mktime(时间结构)
"""
strc=time.strptime('2018-8-31 23:30:40','%Y-%m-%d %H:%M:%S')
time1=time.mktime(strc)
#时间加一个小时
time1+=60*60
print(time.localtime(time1)) #time.struct_time(tm_year=2018, tm_mon=9, tm_mday=1, tm_hour=0, tm_min=30, tm_sec=40, tm_wday=5, tm_yday=244, tm_isdst=0)
"""
3.时间的格式转换
(1)将时间已制定的格式转换成字符串
strftime(时间格式,时间)
"""
time_str=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())
print(time_str) #2018-08-09 14:57:40
"""
strptime(需要转换的字符串,时间格式)
将时间字符串转换为相应的struct_time
"""
# struct_time=time.strptime('今天是2015年8月9日','今天是%y年%m月%d号')
struct_time=time.strptime('2018-8-9','%Y-%m-%d')
print(struct_time) #time.struct_time(tm_year=2018, tm_mon=8, tm_mday=9, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=221, tm_isdst=-1)
"""
4.延迟
sleep(秒):可以让线程阻塞指定的时间
"""
# time.sleep()
datetime模块
import datetime
if __name__ == '__main__':
"""
1.日期类(date):只能表示年月日
min:最小日期
max:最大日期
resolution:最小单位
"""
print(datetime.date.min, type(datetime.date.min)) # 0001-01-01 <class 'datetime.date'>
print(datetime.date.max, type(datetime.date.max)) # 9999-12-31 <class 'datetime.date'>
print(datetime.date.resolution) # 1 day, 0:00:00
"""
2.类方法
"""
#获取当前日期
taday=datetime.date.today()
print(taday) #2018-08-09
#将时间戳转换成日期
taday2=datetime.date.fromtimestamp(0)
print(taday2) #1970-01-01
"""
2.对象属性
"""
max1=datetime.date.max
print(max1) #9999-12-31
#年月日属性
print(taday.year,type(taday.year)) #2018 <class 'int'>
print(taday.month) #8
print(taday.day) #9
"""
3.对象方法
"""
#获取指定日期对应的星期
print(taday.isoweekday()) #4
#将日期转换成
print(taday.ctime()) #Thu Aug 9 00:00:00 2018
#将指定的日期转换成指定格式的字符串日期
print(taday.strftime('%Y-%m-%d')) #2018-08-09
#将日期转换成struct_time
print(taday.timetuple()) #time.struct_time(tm_year=2018, tm_mon=8, tm_mday=9, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=221, tm_isdst=-1)
#创建日期对象
print(datetime.date(2017,9,10)) #2017-09-10
#=========datetime类=========