Edge,Chrome和Firefox中的日期定义

时间:2016-01-21 15:23:49

标签: javascript google-chrome date firefox microsoft-edge

根据此answer,Firefox和Chrome在创建日期对象时接受格式"YYYY MM DD"

但是,Edge不允许new Date("YYYY MM DD")并希望初始化为:new Date("YYYY-MM-DD")

那么,我应该在创建日期对象之前首先检查正在使用哪个浏览器,还是有一个可以创建日期对象的通用模式?

2 个答案:

答案 0 :(得分:0)

我不确定我是否理解你的问题,因为我已经尝试过火狐允许你使用新的日期(" YYYY-MM-DD")所以你可以使用它并通过始终使用它来避免Edge的问题,无论如何,如果您获得无效日期,这是我的解决方案示例:

var date;

       date = new Date("10 01 01"); //invalid date
    if(isNaN(date.getDay())){
        date = new Date("2010-01-01")
    }

希望这有助于你

答案 1 :(得分:0)

如前一个答案所述,新日期(" YYYY-MM-DD")应该适用于Firefox。测试此示例代码,例如:http://www.w3schools.com/js/tryit.asp?filename=tryjs_date_string_iso1

此处有一个与您可能遇到的日期相关的单独问题,即UTC日期与用户时区的对齐。此主题提供了有关此问题以及如何适应该问题的更多信息:Javascript date object always one day off?

希望这可以解决您的疑虑!