【发布时间】:2019-07-26 20:07:18
【问题描述】:
我需要获取一个时区的时间而不是基于电脑时间,我不希望电脑或手机时间改变时时间改变。
我需要用一个区域来获取时间
我已经尝试了很多 stackoverflow 和其他可用的示例,但很难找到
moment.tz.setDefault("Europe/London");
var datetime = new Date(moment());
document.getElementById('log').innerHTML =datetime;
上面的代码打印时间。当我手动更改手机时间时,它显示的是更改后的手机时间,而不是实际的时区时间。
假设我在伦敦,我的当地时间是 14:30,所以当我将手机时间更改为 15:30 时,我的区域时间也是 14:30,它应该显示实际区域时间 14:30 而不是 15:30
首先,这可能吗?如果是请帮忙
【问题讨论】:
-
我认为问题在于日期,而不是时刻。为什么需要将其转换回 Date 对象才能将其添加到 HTML?
-
“当我把手机时间改成15:30”:你的意思是你要改手机上的时区吗?跨度>
-
这是不可能可靠地做到的。您可以使用地理定位来确定时区,然后从那里计算出时间,但这很不可靠。
-
我需要一个特定区域的时钟jsfiddle.net/w069c8ae/2
-
但是当您执行
moment()或new Date()时,您正在读取系统的时间。如果您不希望这样(因为设备时间错误),您应该指定完整的日期和时间信息并构建它。或者你应该在那里轮询一个时间服务器。
标签: javascript datetime momentjs