假设我的本地服务器(A
)时钟位于18/2/2015 00:01:00
(GMT +8)
A
在unix时间内发送了包含参数start_time
和end_time
的api请求。例如。 1424131200
(2015年2月17日00:00:00)和1424217599
(17/2/2015 23:59:59)。
远程服务器(B
)在unixtime中存储了一个名为created_at
的时间戳列,这意味着根据B
的时区时钟设置解释时区(?)
现在,B
应该使用相同的时区按原样读取timestamp参数。但是,我注意到B
错误地查询了它。在谷歌搜索解决方案后,我发现因为B
使用UTC作为其时区。这意味着B
中的时钟比A
晚8小时。
因此,它不会在17/2/2015 @ 12am
之前查询17/2/2015 @ 11.59pm
,而是在17/2/2015 @ 12am
之前查询17/2/2015 @ 3.59pm
。注意结束时间,晚上11.59和下午3.59之间的差异? 8个小时的差异。
我猜B
的时钟在api请求时的A
时钟后总是落后8小时,即17/2/2015 16:01:00
。因此,查询结果总是返回错误的信息。如果api请求与远程服务器同时执行,那将没有问题。
我不知道如何解释这一点,但是这个问题让我很头疼同步它。我该如何处理这个问题?我似乎无法找到任何解释。在mysql服务器中使用unix时间戳是最佳做法吗?