根据此answer,Firefox和Chrome在创建日期对象时接受格式"YYYY MM DD"
。
但是,Edge不允许new Date("YYYY MM DD")
并希望初始化为:new Date("YYYY-MM-DD")
那么,我应该在创建日期对象之前首先检查正在使用哪个浏览器,还是有一个可以创建日期对象的通用模式?
答案 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?
希望这可以解决您的疑虑!