从客户端计算机打开应用程序的UI时要考虑的服务器时区

时间:2015-10-21 06:56:49

标签: javascript date datetime highcharts

我们的应用程序是使用Java构建的,我们使用datetime对象获取服务器时间。但是当从javascript使用时我无法使用该值,因为为UI发送的值是字符串格式(我不知道JSON属性值是否在从UI中使用时保留ajax中的日期类型)并且我想使用它Highcharts的pointstart值,它希望该值为Number。

因此,当我从REST获得值时,date将采用json格式,类型将为string类型。如果将其转换为Date对象,则将其转换回Client的计算机。

我已经看到很多建议,其中一个是为当地时间添加偏移量,我选择了这个来解决我的问题(有关解决方案的详细信息,请参阅Convert date in one timezone to another timezone using timezone abbreviations)。但最后它会转换为本地字符串,而对于pointstart,再次不会从HighCharts中考虑它。如果我从Date对象中删除toLocaleString并尝试,接收的值如下所示 “ 2015年10月20日星期二23:05:37 GMT + 0530(IST)”日期值 2015年10月20日星期二23:05:37 (服务器时间)是PDT时间,但附加的时区值是“ GMT + 0530(IST)”(客户端时区)。值是正确的但不能考虑附加客户端时区。这有什么不对?

请让我知道

代码段:

  // create Date object for current location
 var date = new Date();

// convert to msec
// add local time zone offset 
// get UTC time in msec
var utc = date.getTime() + (date.getTimezoneOffset() * 60000);

// create new Date object for different city
// using supplied offset
var newDate = new Date(utc + (3600000 * offset));

// return time as a string. But im removing this since i dont want of type string
return "The local time in " + city + " is " + newDate.toLocaleString();

0 个答案:

没有答案