最近在编码的过程中遇到这样一个问题: 我需要获取用户今天是否刷了卡,如果已经刷了一次就禁止再刷,也就是让一张卡一天只能刷一次,但发现用户在早上8点之前无法刷卡,过了8点之后就可以刷一次了。

 

最终发现原来是服务器时区设置问题,之前我获取当前日期的代码为

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

这样获取的是本机设置的时区时间,如果本机设置的时区不是东八区那就悲剧了。

 

于是改进一下:

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

这样就固定获取东八区时间,也就是北京时间了。

posted on 2017-10-14 13:52  MnCu  阅读(270)  评论(0)    收藏  举报