【发布时间】:2016-03-03 03:40:18
【问题描述】:
我是 Python 新手,我试图从现有帖子中找到答案,我做了我的尝试,但我找不到我想要的。
当客户端向我的服务器发送请求时,我需要验证时间(基于中国时区)差异。
从我能找到的现有帖子中,我尝试过:
import calendar
import datetime
import pytz
import time
tz = pytz.timezone('Asia/Shanghai') # china timezone
cn_time = datetime.datetime.now(tz) # get datetime for china
print calendar.timegm(cn_time.timetuple())*1000 #try to get the milliseconds
但我发现结果与我的java服务器Joda Time的答案相差甚远:
DateTime serverDt = new DateTime(DateTimeZone.forID("Asia/Shanghai"));
long milis = serverDt.getMillis();
一个测试用例是:
蟒蛇:1457005502000
java: 1456976702999
与int secDiff = Seconds.secondsBetween(dt, serverDt).getSeconds(); 的差异为 -28799,即 -7 小时
注意:我的机器是中国时区。
【问题讨论】:
-
在每种情况下你会得到什么?
-
@Selcuk ,请查看我更新的问题
-
您的问题不清楚。你的意思是你想要
time.time()?你的输入是什么?它是一个字符串吗?举个例子。 java服务器的输出与客户端发送的请求有什么关系吗?客户的时区是什么?