python獲取當天0點的時間戳
阿新 • • 發佈:2018-12-27
有時候,我們需要獲取當天零點的時間戳,先給出程式碼吧。
>>> import time >>> now_time = int(time.time()) >>> day_time = now_time - now_time % 86400 + time.timezone >>> day_time_str = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(day_time)) >>> print(day_time_str) 2018-12-27 00:00:00
其中主要程式碼就是這一句:
day_time = now_time - now_time % 86400 + time.timezone
解釋一下,now_time = int(time.time()) 就是當前時間戳,即就是從格林威治1970年01月01日00時00分00秒起至現在的總秒數,86400 = 24 * 60 * 60,表示一天時間對應的秒數,now_time - now_time % 86400 得到的就是格林威治時間當天零時的時間戳,因為我們北京時間是東8區,會比格林威治時間快上8小時,所以這個時間戳對應的就是北京時間早上8點,列印下就能看到。
>>> print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(now_time - now_time % 86400))) 2018-12-27 08:00:00
要得到北京時間當天零時,需要再加上一個時區引數 time.timezone,我們直接列印下這個引數吧
>>> print(time.timezone) -28800
28800 就等於 8 * 60 * 60,現在明白了吧,這個引數就是為了減去上面你看到的8小時,得到我們北京時間當天零時。
還有,如果你要得到昨天零時的時間戳,直接用 day_time 減去 86400 就可以,很簡單吧。