時間模塊的使用
多線程補(bǔ)充
1.想要結(jié)束一個進(jìn)程就是讓它里面所有的線程都結(jié)束,進(jìn)程才會結(jié)束
2.想要關(guān)閉一個子線程部蛇,就是想方設(shè)法讓子線程中的任務(wù)結(jié)束(就是讓run方法結(jié)束)
3.如果一個線程崩潰(發(fā)生異常)焕窝,不會影響其他線程
time模塊
主要包含處理年月日時分秒對應(yīng)的時間(著重于時分秒)
1.獲取當(dāng)前時間
時間戳: 從格林威治時間(1970年1月1日0:0:0)到當(dāng)前時間的時間差(單位s)
1. 存時間以時間戳的形式去存儲可以節(jié)省內(nèi)存空間(一個浮點數(shù)的內(nèi)存是4/8個字節(jié),存一個字符串一個字符占2個字節(jié))
2. 自帶對時間加密的功能(加密更方便)
print(time.time(), type(time.time()))
print(time.time()/3600/24/365)
2.將時間戳轉(zhuǎn)換成struct_time / 將struct_time轉(zhuǎn)換成時間戳
localtime(seconds)
參數(shù)seconds:
a.不傳參辕宏,就是將當(dāng)前時間對應(yīng)的時間戳轉(zhuǎn)換成struct_time
b.傳參介汹,就是將指定的時間搓轉(zhuǎn)換成struct_timemktime(結(jié)構(gòu)時間)
time1 = time.localtime()
print(time1)
print(time1.tm_year)
strc = time.strptime('2018-12-31 23:50:40', '%Y-%m-%d %H:%M:%S')
timec = time.mktime(strc)
timec += 3600
print(time.localtime(timec))
其中:
tm_year: 年
tm_mon: 月
tm_mday: 日
tm_hour: 時
tm_min: 分
tm_sec: 秒
tm:wday: 星期(0-6 --> 周一 - 周天)
tm_yday: 當(dāng)前天數(shù)是當(dāng)前年份的第幾天
tm_isdst: 是否是夏令時
3.時間格式的轉(zhuǎn)換
- strftime(時間格式,時間)
將時間以指定的格式轉(zhuǎn)換成字符串
time1 = time.strftime('%Y-%m-%d %H:%M:%S', time1)
print(time1)
- strptime(需要轉(zhuǎn)換的字符串,時間格式)
將時間字符串轉(zhuǎn)換成相應(yīng)的struct_time
struct_time = time.strptime('Todayis2018year8month9day', 'Todayis%Yyear%mmonth%dday')
print(struct_time)
4.延遲
time.sleep(5)
datetime模塊
專門處理年月日
1.日期類 date --> 只能表示年月日
- 最小日期
print(datetime.date.min, type(datetime.date.min))
- 最大日期
print(datetime.date.max, type(datetime.date.max))
- 最小單位
print(datetime.date.resolution)
2.類方法
- 獲取當(dāng)前日期
today = datetime.date.today()
print(today)
- 將時間戳轉(zhuǎn)換為日期
today2 = datetime.date.fromtimestamp(5434553.3242)
print(today2)
3.對象屬性
print(today.year, today.month, today.day)
4.對象方法
- 1.獲取指定日期對應(yīng)的星期數(shù)
print(today.isoweekday())
- 2.將指定日期對象轉(zhuǎn)換為指定格式的字符串日期
print(today.strftime('%Y/%m/%d %w'))
- 3.將日期轉(zhuǎn)換成struct_time
print(today.timetuple())
- 4.創(chuàng)建日期對象
data1 = datetime.date(2017, 4, 30)
print(data1)