python之time和datetime模塊

醉里挑燈看劍,夢回吹角連營。八百里分麾下炙,五十弦翻塞外聲。沙場秋點兵。
馬作的盧飛快,弓如霹靂弦驚。了卻君王天下事,贏得生前身后名。可憐白發生!

幾個術語了解

  • 時間戳(timestamp)的方式:通常來說,時間戳表示的是從1970年1月1日開始按秒計算的偏移量(time.gmtime(0))此模塊中的函數無法處理1970紀元年以前的時間或太遙遠的未來(處理極限取決于C函數庫,對于32位系統而言,是2038年)
  • UTC(Coordinated Universal Time,世界協調時)也叫格林威治天文時間,是世界標準時間.在我國為UTC+8
  • DST(Daylight Saving Time)即夏令時

一、time模塊的使用

  • time.time()
    獲取當前時間戳(以秒為單位的浮點型的時間戳)
    print(time.time())
    >>>1539847769.6119404
  • time.localtime(seconds=None)
    默認獲取當前時間的結構化時間
    print(time.localtime())
    >>>time.struct_time(tm_year=2018, tm_mon=10, tm_mday=18, tm_hour=15, tm_min=35, tm_sec=0, tm_wday=3, tm_yday=291, tm_isdst=0)
  • time.mktime(p_tuple)
    將結構化時間轉化成時間戳格式
    print(time.mktime(time.localtime()))
    >>>1539849828.0
    注意和time.time()的區別:
    print(time.time())
    1539849828.090503
  • time.strftime(format, p_tuple=None)
    格式化時間(字符串)
    print(time.strftime("%Y-%m-%d %H:%M:%S"))
    >>>2018-10-18 15:56:42
  • time.strptime(string, format)
    將格式化時間轉成結構化時間
    print(time.strptime("2018-10-18 15:56:42","%Y-%m-%d %H:%M:%S"))
    >>>time.struct_time(tm_year=2018, tm_mon=10, tm_mday=18, tm_hour=15, tm_min=56, tm_sec=42, tm_wday=3, tm_yday=291, tm_isdst=-1)
  • time.gmtime(seconds=None)
    默認當前UTC時間轉結構化時間,與英國倫敦當地時間一致
    print(time.gmtime(time.time()))
    >>>time.struct_time(tm_year=2018, tm_mon=10, tm_mday=18, tm_hour=8, tm_min=10, tm_sec=16, tm_wday=3, tm_yday=291, tm_isdst=0)
  • time.sleep(secends)
    線程推遲指定的時間運行

附一:


image.png

附二:time時間之間的轉換


image.png

二、datetime 模塊的使用

datetime模塊定義了5個類,分別是

  • 1.datetime.date:是指年月日構成的日期(相當于日歷)
  • 2.datetime.datetime:是指時分秒微秒構成的一天24小時中的具體時間(相當于手表)
  • 3.datetime.time:上面兩個合在一起,既包含時間又包含日期
  • 4.datetime.timedelta:表示時間間隔,即兩個時間點的間隔
  • 5.datetime.tzinfo:時區的相關信息

1. datetime.date類

  • date類有三個參數,datetime.date(year,month,day),返回year-month-day
    print(datetime.date(2017,12,1))
    >>>2017-12-01
  • datetime.date.today()
    獲取當前時間的年月日
    print(datetime.date.today())
    >>>2018-10-18
  • datetime.date.isoweekday(cls)
    獲取指定日期是星期幾,1=周一,7=周天
    a = datetime.date.today()
    print(datetime.date.isoweekday(a))
    >>>4
  • datetime.date.weekday(cls)
    獲取指定日期是星期幾,0=周一,6=周天
    a = datetime.date.today()
    print(datetime.date.weekday(a))
    >>>3
  • datetime.date.fromtimestamp(時間戳)
    將時間戳轉化成特定格式的年月日
    print(datetime.date.fromtimestamp(1539847769))
    >>>2018-10-18
  • cls.timetuple() 將特定格式的日期轉化成結構化時間
    a = datetime.date.today()
    print(a.timetuple())
    >>>time.struct_time(tm_year=2018, tm_mon=10, tm_mday=18, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=291, tm_isdst=-1)
  • cls.replace(year=2010) 替換指定的年月日
    a = datetime.date.today()
    print(a.replace(year=2010))
    >>>2010-10-18

2. datetime.time類

  • time類有5個參數,datetime.time(hour,minute,second,microsecond,tzoninfo)
    print(datetime.time(8,5,32))
    print(datetime.time(8,5,32,32))
    >>>08:05:32
    >>>08:05:32.000032

  • cls.strftime("時間格式")
    指定時間格式
    a= datetime.time(8,5,32,32)
    print(a.strftime("%H:%M"))
    >>>08:05

  • cls.replace()
    替換時分秒
    a= datetime.time(8,5,32,32)
    print(a.replace(hour=18))
    >>>18:05:32.000032

  • datetime.time.tzname()
    返回時區名字:略

  • datetime.time.utcoffset()
    返回時區的時間偏移量:略

3. datetime.datetime類

datetime模塊類的使用大同小異,有很多方法我們可能這輩子都用不上,datetime類的方法比較多,在這里我就撿重點的列一下:

  • datetime.datetime.now()或者datetime.datetime.today()
    得到當前的具體時間(不指定時區時兩個方法一樣的效果)
    print(datetime.datetime.now())
    >>>2018-10-18 19:15:17.691425
  • datetime.datetime.now().date()
    返回當前時間的年月日部分
    print(datetime.datetime.now().date())
    >>>2018-10-18
  • datetime.datetime.now().time()
    返回當前時間的時分秒...部分
    print(datetime.datetime.now().time())
    >>>19:16:54.497104
  • datetime.datetime.strftime()
    由日期格式轉化為字符串格式
    print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
    >>>2018-10-18 19:21:13
  • datetime.datetime.strptime()
    由字符串格式轉化為日期格式
    a = datetime.datetime.strptime("2018-10-18 19:21:37",'%Y-%m-%d %H:%M:%S')
    print(a,type(a))
    >>>2018-10-18 19:21:37 <class 'datetime.datetime'>

4. datetime.timedelta類

datetime.datetime.timedelta用于計算兩個日期之間的差值:

import datetime

a = datetime.datetime(2015, 10, 3)

b = datetime.datetime.now()

res1 = (b - a)
res2 = (b - a).days   //  取時間差天數
res3 = (b - a).seconds   // 取時間差時分秒部分的秒數總和
res4 = (b - a).microseconds  // 取時間差 秒數之后的微秒數
res5 = (b - a).total_seconds()  // 時間差的總秒數

print(res1)   >>> 1111 days, 19:48:35.543523
print(res2)   >>> 1111
print(res3)   >>> 71315
print(res4)   >>> 71315
print(res5)   >>> 96061715.543523
image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,702評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,615評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,606評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,044評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,826評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,227評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,307評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,447評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,992評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,807評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,001評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,550評論 5 361
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,243評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,667評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,930評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,709評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,996評論 2 374

推薦閱讀更多精彩內容

  • 文/白萍 人,總要寒心一次 才知道世界的真真假假 并不是誰都能以心換心 人,總要寒心一次 才知道人生并非只有喜樂 ...
    悟姑娘閱讀 326評論 2 5
  • 靜氣三分鐘。 倒撲。
    土家閱讀 115評論 0 0
  • 同事小林是我們單位的“高富帥”,陽光帥氣,家境殷實,工作能力也很不錯,單位許多女同事都芳心暗許。 不過小林一直單身...
    露水丸子閱讀 860評論 3 12
  • 夏雨第三天作業 1怎樣成為生活的馴化大師 2此情,無關風月——不期輪回 3我不必道歉,這是我的命運 4你的世界不能...
    冰心茉莉閱讀 856評論 0 0