人生苦短,我選Pythonhtml
前文傳送門python
小白學 Python(2):基礎數據類型(上)github
今天咱們要介紹的是一個會常常用到的模塊—— time
,顧名思義,這是一個時間相關的模塊。前面咱們也介紹過經常使用模塊,好比 os
模塊,在使用這些模塊前,咱們須要先將它導入進來。 time
模塊的導入方式以下:
import time
先來一個簡單的樣例吧:
for i in range(0, 5): print(i) time.sleep(1)
打印結果我就不展現了,同窗們應該都猜獲得。那麼 time.sleep(1)
這句話的做用是什麼呢?
sleep()
方法是一個睡眠方法,意思就是程序執行到這裏,須要等待一會,什麼都不作,上面的代碼在執行的時候能夠發現,每隔 1s 會打印一個數字, sleep()
裏面給出的參數是休眠的時間,單位是秒。
首當其衝固然是獲取當前的時間戳。
print(time.time())
結果以下:
1573054874.6483195
這裏就看不懂了哇,我先來解釋下什麼是時間戳。
在程序中,通常已1970年1月1日0時0分0秒做爲起始時間,時間戳就是從起始時間到如今的時長,在 Python
中,這個時長的單位是秒。那麼爲何起始時間是1970年1月1日0時0分0秒呢?
emmmmmmmmmmmmm,這個我還真不知道,據我所瞭解的語言,全部的時間戳都是從這個時間點開始起算的。我順手幫各位同窗百度了下,表示並無找到答案。
不要糾結這個問題了,咱們看下一個。
print(time.localtime())
結果以下:
time.struct_time(tm_year=2019, tm_mon=11, tm_mday=6, tm_hour=23, tm_min=47, tm_sec=13, tm_wday=2, tm_yday=310, tm_isdst=0)
這個方法會給出詳細的當前的本地時間,能夠細化到年、月、日、小時、分鐘、秒等。
注意: 這個時間是當前本地的計算的時間哦,若是修改計算機的時間,這個值會發生相應的改變的。
print(time.mktime(time.localtime()))
結果以下:
1573055380.0
各位同窗看着打印結果應該已經猜到了, mktime()
能夠將當前的本地時間轉化爲一個時間戳。
以上不論是時間戳、仍是本地時間,看起來並不方便,下面咱們介紹如何格式化時間。
最簡單的方法,可使用函數 asctime()
。
print(time.asctime(time.localtime()))
結果以下:
Wed Nov 6 23:53:52 2019
這個結果還帶着英文,並不符合中國人的習慣嘛,別急,咱們還能夠自定義格式。
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
結果以下:
2019-11-06 23:55:56
這樣看着就舒服多了麼,咱們能夠經過 strftime()
來自定義日期格式。
這裏列舉一下日期格式化的符號:
哇,這也太多了,記不住怎麼辦?
其實這個並不須要你都記下來,只須要記住經常使用的就行了,就好比我上面使用的年、月、日、時、分、秒。其他的不經常使用的能夠在有須要的時候再來查表。
有時候時間之間不使用短橫槓 -
來隔開,而選擇使用斜槓 /
隔開,這個怎麼辦?
這個很簡單咯,看個人:
print(time.strftime("%Y/%m/%d %H:%M:%S", time.localtime()))
結果以下:
2019/11/07 00:02:18
都聊到這裏了,咱們順便再聊一個模塊,日曆。
先看下代碼演示吧,這個就比較有意思了:
import calendar print(calendar.calendar(theyear=2020, w=2, l=1, c=6))
結果以下:
2020 January February March Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 1 2 3 4 5 1 2 1 6 7 8 9 10 11 12 3 4 5 6 7 8 9 2 3 4 5 6 7 8 13 14 15 16 17 18 19 10 11 12 13 14 15 16 9 10 11 12 13 14 15 20 21 22 23 24 25 26 17 18 19 20 21 22 23 16 17 18 19 20 21 22 27 28 29 30 31 24 25 26 27 28 29 23 24 25 26 27 28 29 30 31 April May June Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 1 2 3 4 5 1 2 3 1 2 3 4 5 6 7 6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14 13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21 20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28 27 28 29 30 25 26 27 28 29 30 31 29 30 July August September Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 1 2 3 4 5 1 2 1 2 3 4 5 6 6 7 8 9 10 11 12 3 4 5 6 7 8 9 7 8 9 10 11 12 13 13 14 15 16 17 18 19 10 11 12 13 14 15 16 14 15 16 17 18 19 20 20 21 22 23 24 25 26 17 18 19 20 21 22 23 21 22 23 24 25 26 27 27 28 29 30 31 24 25 26 27 28 29 30 28 29 30 31 October November December Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 1 2 3 4 1 1 2 3 4 5 6 5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13 12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20 19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27 26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31 30
咱們把 2020 年的日曆打印出來了。
之後咱們看日曆可使用這個函數看了。
要用大家用,反正我是不用,我選擇使用這個:
除了直接返回整年的日曆,calendar 還支持返回指定月份的日曆:
print(calendar.month(2019, 11))
結果以下:
November 2019 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
咱們還能夠直接得到某月的總天數:
print(calendar.monthlen(2019, 11))
結果以下:
30
這個功能好像有點雞肋,咱們獲取某月的天數難道不是都靠那句兒歌麼?
一三五七八十臘,三十一天永不差
咱們還能夠知道指定的日期對應的星期數:
print(calendar.weekday(2019, 11, 7))
結果以下:
3
這個我以爲蠻實用的,不再用本身寫算法去推算了。
本系列的全部代碼小編都會放在代碼管理倉庫 Github 和 Gitee 上,方便你們取用。
原文出處:https://www.cnblogs.com/babycomeon/p/11864163.html