JS:Safari new Date()。getTime()给出了Chrome的不同结果

时间:2017-11-24 06:59:10

标签: javascript google-chrome safari

我在做:

new Date().getTime();

Chrome和Safari有不同的结果。

如何让它发挥作用?

另外,我想摆脱这个:

var n = new Date();
      var nYear = n.getFullYear();
      var nMonth = n.getMonth()+1;
      if (nMonth<10)
        nMonth = "0" + nMonth;
      var nDate = n.getDate();
      if (nDate<10)
        nDate = "0" + nDate;
      var date = nYear + "-" + nMonth + "-" + nDate;
      var nHours = n.getHours();
      if (nHours<10)
        nHours = "0" + nHours;
      var nMinutes = n.getMinutes();
      if (nMinutes<10)
        nMinutes = "0" + nMinutes;
      var startHour = nHours + ":" + nMinutes;

把它变成这样的东西:

$date = date("Y-m-d");
$startHour = date("H:i");

2 个答案:

答案 0 :(得分:0)

Safari将处理日期对象,与其他浏览器有所不同。当我面对这些问题时,我尝试了下面附带的代码,并且效果很好!

var dateSplit = data.event.start.date.split("-");
var date_instance = new Date(dateSplit[0], parseInt(dateSplit[1], 10) - 1, dateSplit[2]);

//where data.event.start.date  will be from a JSON like "2017-12-05"

参考:Invalid date in safariSafari Javascript Date() NaN Issue (yyyy-MM-dd HH:mm:ss)

谢谢!

答案 1 :(得分:0)

在这篇旧帖中是解决方案 - &gt; Invalid date in safari

  

查看datejs documentation后,使用它,您的问题应该是   使用这样的代码解决:

var myDate1 = Date.parseExact("29-11-2010", "dd-MM-yyyy");
var myDate2 = Date.parseExact("11-29-2010", "MM-dd-yyyy");
var myDate3 = Date.parseExact("2010-11-29", "yyyy-MM-dd");
var myDate4 = Date.parseExact("2010-29-11", "yyyy-dd-MM");