0

我的客户端 javascript 应用程序和服务器应用程序在不同的国家/地区运行。我需要同步事件。换句话说,客户端应用程序发送一个表示本地日期时间的 url 字符串,例如:

date = new Date() # Mon Jul 22 2013 16:28:34 GMT+0200 (CEST)

在服务器( linode )端,正在运行一个用 java 编写的小应用程序。我需要在本地服务器端机器日期时间中转换此字符串,并通过休眠存储到 rdbms,以便 cron 或类似时钟的应用程序可以从表中读取此日期并激活新事件并同步到远程。这必须恰好在客户指定的日期发生。实现这一目标的最佳方法是什么?

4

1 回答 1

0

如果两者都有正确的时间和时区,则服务器和客户端的日期(以毫秒为单位)将相同,无论它们在哪个时区。

以毫秒为单位从客户端发送日期,并在java.sql.Date(long)构造函数中的服务器端接受它。
您在标签中提到了 javascript。所以日期可以通过javascript发送,new Date();并且可以被服务器使用

new java.sql.Date(client_date);

以毫秒为单位,客户端时间将转换为适当的服务器时间。如果未正确设置客户端时间,则可以使用以毫秒为单位的时间差,例如 -

long time_difference= new Date()-new Date(client_date);
long server_time_of_execution=new Date(Client_date_to_execute).getTime()+time_difference;
于 2013-07-23T13:16:00.453 回答