我们的应用程序是使用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();