Javascript 如何在Firefox中获取js中的本地日期时间

Javascript 如何在Firefox中获取js中的本地日期时间,javascript,google-chrome,firefox,Javascript,Google Chrome,Firefox,我有一个非常依赖日期的应用程序,它在Chrome上运行平稳,但在FireFox上运行不平稳,因为它会因为TimezoneOffset而更改我的日期对象 在Chrome中,当我创建一个new Date()和setHours(0,0,0)时,我得到2018年7月12日星期四00:00:00 GMT+0200(中欧夏季时间)但在FireFox上做同样的事情时,我得到日期2018-07-11T22:00:00.549Z,这对我的应用程序不利 有办法解决这个问题吗?因此,在firefox中,它也使用了我请

我有一个非常依赖日期的应用程序,它在Chrome上运行平稳,但在FireFox上运行不平稳,因为它会因为TimezoneOffset而更改我的日期对象

在Chrome中,当我创建一个
new Date()
setHours(0,0,0)
时,我得到
2018年7月12日星期四00:00:00 GMT+0200(中欧夏季时间)
但在FireFox上做同样的事情时,我得到
日期2018-07-11T22:00:00.549Z
,这对我的应用程序不利

有办法解决这个问题吗?因此,在firefox中,它也使用了我请求的日期。因为如果它保持这样,它将永远不会到达一个月的最后一天,因为它将停止在
30个月的年份22:00:00
而不是
31个月的年份00:00:00
,它将像31个从未存在过的日子一样

也正因为如此,根据FireFox,我的员工现在的工作时间是从早上6:30(上午)到下午15:00(下午3点),而不是早上8:30(上午)到17:00(下午5点)

编辑

现在我想出了一个可行的办法,但对我来说似乎很脏

var is_firefox = /firefox/i.test(navigator.userAgent);
var today = new Date();
today.setHours(0,0,0);
if(is_firefox){
    var timezoneOffset = Math.abs(today.getTimezoneOffset());
    timezoneOffset = timezoneOffset/60;
    today.add(timezoneOffset).hours();
}

这将检查所使用的浏览器是否为firefox,如果是,则获取timezoneOffset,并将其转换为小时。并使用..将这些小时添加到日期对象中。。但是这样,我必须为我拥有的每个日期对象执行此操作。

如果您的应用程序严重依赖于日期,您是否尝试过使用日期?它不会依赖Chrome/Firefox来计算和显示日期

否则,我猜您已经记录了这些原始日期实例以获得这种显示? 您可以访问以在Mozilla和Chrome中获得相同的格式

最后,如果显示不一样,可能是因为计算机上的浏览器版本不同?
此外,浏览器会从您的计算机获取时区偏移量,如果您以不同的配置运行这些测试,您可能会获得不同的时区偏移量(显然我知道,但值得一提)

老实说,我忘记了MomentJS。。。oops哈哈,我相信它会非常方便,momentJS在firefox中也会这么做。我给出的日期是2018-07-02T08:30:00,返回的时间(date)是对象{u isamentobject:true,{u i:date 2018-07-02T06:30:00.000Z,{u isUTC:false,{…},{…},{…},{u d:date 2018-07-02T06:30:00.000Z,{u isValid:true}日期。getUTCDate()只返回UTC月份的日期。因此,当使用上面注释中的日期时,只会返回类似于
2
的内容。。。两个浏览器都是最新的。对不起,我是说
.toutString()
!当您控制台
时刻(yourDate).format()
时,会发生什么情况?相同。。但我想我明白了。。。你看。。当I
console.log
00:00时间的日期时。它需要两个多小时的路程,在前一天结束。但是如果我
控制台日志date.getDate()
仍然是同一天。所以我可以比较date对象的每个部分,一切都会好起来的