代码之家  ›  专栏  ›  技术社区  ›  FllnAngl

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

  •  0
  • FllnAngl  · 技术社区  · 6 年前

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

    当我做一个 new Date() setHours(0,0,0) Thu Jul 12 2018 00:00:00 GMT+0200 (Central European summer time) 但是当我为火狐做同样的事情时 Date 2018-07-11T22:00:00.549Z 这对我的申请不利。。

    30-month-year 22:00:00 而不是 31-month-year 00:00:00 这就像第三十一个从来没有存在过…

    也正因为如此,向FireFox发问,我的员工现在从早上6:30(AM)工作到下午15:00(3PM),而不是早上8:30(AM)工作到下午17:00(5pm)。

    编辑

    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,并将其转换为hours。并使用 dateJS .. 但这样我就必须对我所有的约会对象都这么做。。

    1 回复  |  直到 6 年前
        1
  •  0
  •   mgouault    6 年前

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

    否则,我猜您已经通过记录这些原始日期实例来获得这种显示? Date.toUTCString() 在Mozilla和Chrome中获得相同的格式。

    最后,如果显示不一样,可能是因为你电脑上的浏览器版本不同?