1. 程式人生 > >python獲取當天0點的時間戳

python獲取當天0點的時間戳

有時候,我們需要獲取當天零點的時間戳,先給出程式碼吧。

 

>>> 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 就可以,很簡單吧。