在Android设备上使用cordova错误的时间,但在浏览器中的时间是正确

时间:2016-04-20 06:31:09

标签: javascript android datetime

所以我的问题是在我的Android设备(cordova应用程序)上使用javascript new Date()时会返回错误的时间:

使用cordova全球化 - 正确的时间

  

2016年4月20日星期三11:38:00 GMT-0200(_TZif)

javascript new Date() - 错误的时间

  

Wed Apr 20 2016 04:08:44 GMT-0200(_TZif)

new Date()。toUTCString() - 错误时间-1小时

  

2016年4月20日星期三06:08:44 GMT

时刻()。格式('MMMM Do YYYY,h:mm:ss a') - 错误的时间

  

2016年4月20日,上午4:08:44

我的设备设置为我所在的当地时区,我的PC也是如此 - 印度标准时间。

如果我使用cordova插件正确的时间并使用getTime()

保存值
  

1461159480044

然后在我的浏览器中,时间是:

  

2016年4月20日星期三19:08:00 GMT + 0530(印度标准时间)

无论哪种方式,如果我在应用程序中使用正确的时间,网站上会显示错误的时间。在应用程序中使用错误的时间会在网站中显示正确的时间。

显然,Android应用程序中的时区错误但我怎么能让它变得正确?手动将时区设置为印度标准时间。构建它时我的电脑也是如此。我的笔记本电脑和手机都来自英国,但我手动更改了日期时区设置。我的localhost在笔记本电脑上显示正确的时间。

怎么办?

1 个答案:

答案 0 :(得分:-1)

将设备上的时区更改回原始时间(英国标准时间)并在设备上设置时差。

现在是值:

  

new Date('cordova globalization function')。getTime():1461150716400

科尔多瓦全球化:2016年4月20日星期三12:11:00 GMT + 0100(BST)

  

新日期():2016年4月20日星期三12:11:56 GMT + 0100(BST)

new Date()。toUTCString():Wed,2016年4月20日11:11:56 GMT

  

时刻()。格式('MMMM Do YYYY,h:mm:ss a'):2016年4月20日,下午12:11:56