1. 程式人生 > >編碼中遇到的時區問題

編碼中遇到的時區問題

時間 最終 之前 過程 是否 class 今天 一個 北京時間

最近在編碼的過程中遇到這樣一個問題: 我需要獲取用戶今天是否刷了卡,如果已經刷了一次就禁止再刷,也就是讓一張卡一天只能刷一次,但發現用戶在早上8點之前無法刷卡,過了8點之後就可以刷一次了。

最終發現原來是服務器時區設置問題,之前我獲取當前日期的代碼為

import time
time.strftime("%Y-%m-%d", time.localtime())

這樣獲取的是本機設置的時區時間,如果本機設置的時區不是東八區那就悲劇了。

於是改進一下:

time.strftime("%Y-%m-%d", time.gmtime(int(time.time()+8*3600)))

這樣就固定獲取東八區時間,也就是北京時間了。

編碼中遇到的時區問題