所以我的问题是在我的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在笔记本电脑上显示正确的时间。
怎么办?
答案 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