jQuery Date()函数返回1969年12月31日而不是当前日期

pho*_*der 4 html javascript jquery date

我正在从Jon Duckett的书"Javascript&jQuery:Interactive Front-End Development"中学习jQuery.到目前为止,我从本书中复制的所有代码似乎都运行得很顺利,但是这段代码让我难以理解.基本上,当您单击HTML中的列表项时,它会显示li旁边发生的click事件的日期.它有效,但日期显示在1969年12月31日,而不是对象点击日期.我一直在读如何解决这个问题,但我没有运气.是否有不同的方法来获得相同的结果,或者我只是遗漏了代码中的某些内容?

jQuery片段和jsfiddle链接如下: jsFiddle

$(function(){
   $('li').on('click', function(e){
    $('li span').remove();
    var date = new Date();
    date.setTime(e.timeStamp);
    var clicked = date.toDateString();
    $(this).append('<span class="date">' + clicked + ' ' + e.type + '</span>');
  });
});
Run Code Online (Sandbox Code Playgroud)

Mil*_*war 8

那是因为e.timeStamp回报DOMHighResTimeStamp而不是DOMTimeStamp.这是非常少的.由于它将日期设置为默认为12/31/1969.

new Date(),使用当前日期和时间创建一个新的日期对象.您不需要在此处显式setTime:

var date = new Date();
var clicked = date.toDateString();
Run Code Online (Sandbox Code Playgroud)