Javascript-new Date()在Android 7.0设备上返回错误的时区
以下问题仅出现在Android 7.0(未在7.0+上检查)设备上 当设备上的时区发生更改时,系统日期会正确更改,但new date()会给出较早设置的时区 例: 选定时区:GMT+05:30(印度标准时间) 更改时区: 选定时区:GMT+01:00(中欧标准时间)。 设备上的系统时间更改 但新日期仍然给出了以前选择的时区Javascript-new Date()在Android 7.0设备上返回错误的时区,javascript,android,date,datetime,Javascript,Android,Date,Datetime,以下问题仅出现在Android 7.0(未在7.0+上检查)设备上 当设备上的时区发生更改时,系统日期会正确更改,但new date()会给出较早设置的时区 例: 选定时区:GMT+05:30(印度标准时间) 更改时区: 选定时区:GMT+01:00(中欧标准时间)。 设备上的系统时间更改 但新日期仍然给出了以前选择的时区 var date = new Date(); console.log(date);// Thu Mar 16 2017 14:40:32 GMT+0530 (IST) 时区
var date = new Date();
console.log(date);// Thu Mar 16 2017 14:40:32 GMT+0530 (IST)
时区不变。
如果我重新启动设备,新的日期会给出正确的时区
var date = new Date();
console.log(date);// Thu Mar 16 2017 10:21:12 GMT+0100 (CET)
有人面对过这个问题吗?
有什么变通方法/解决方案吗?嗨,我也遇到了同样的问题,所以我告诉我的代码从php文件中获取服务器的时间:
<?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
header("Access-Control-Allow-Headers: X-Requested-With");
echo date("c");
?>
然后jQuery:
function addZero(i) {
if (i < 10) {
i = "0" + i;
}
return i;
}
$.ajax({
type: "GET",
url: "time.php",
success: function(phptime)
{
var now = new Date(phptime);
var hours = addZero(now.getHours());
var minutes = addZero(now.getMinutes());
var dayIndex = now.getDay();
console.log(phptime);
console.log(now);
console.log(hours);
console.log(minutes);
console.log(dayIndex);
}
});
函数addZero(i){
如果(i<10){
i=“0”+i;
}
返回i;
}
$.ajax({
键入:“获取”,
url:“time.php”,
成功:功能(phptime)
{
var now=新日期(phptime);
var hours=addZero(now.getHours());
var minutes=addZero(now.getMinutes());
var dayIndex=now.getDay();
console.log(phptime);
console.log(现在);
控制台日志(小时);
控制台日志(分钟);
console.log(dayIndex);
}
});
因此,现在我的时间不取决于设备,而只取决于服务器。有问题吗?是的。编辑了这篇文章。怎么会这样?重新启动设备实际上是不可接受的。有人知道这个问题是否会影响到Android的后续版本,也就是说,他们是否修复了它?如果应用程序想要显示本地时间,这不是答案
function addZero(i) {
if (i < 10) {
i = "0" + i;
}
return i;
}
$.ajax({
type: "GET",
url: "time.php",
success: function(phptime)
{
var now = new Date(phptime);
var hours = addZero(now.getHours());
var minutes = addZero(now.getMinutes());
var dayIndex = now.getDay();
console.log(phptime);
console.log(now);
console.log(hours);
console.log(minutes);
console.log(dayIndex);
}
});