两个Javascript日期变量

时间:2014-07-08 07:17:07

标签: javascript date

我似乎无法理解拥有两个日期变量所需的语法。

var videodate = new Date(2014,7,5);
var previousdate = videodate.getDate()-1;

这将允许我在页面上有两个链接:

<a href="today.mp4">{videodate}</a>
<a href="yesterday.mp4">{previousdate}</a>

我发现的是我一直在寻找的解决方案:

videodate.setDate(videodate.getDate()-1)

然后改变'videodate'变量。我只是想能够阅读'videodate'以指定'previousdate'!?如下所示:

var previousdate = new Date(videodate.getDate()-1)

3 个答案:

答案 0 :(得分:3)

为上一个日期创建一个单独的新日期对象,使用.getTime()将其设置为与第一个相同的日期,然后对其执行-1,保持两个日期彼此独立。

var videodate = new Date(2014,7,5);
var previousdate = new Date(videodate.getTime());
previousdate.setDate(previousdate.getDate()-1);

答案 1 :(得分:1)

您可以以毫秒为单位减去构建新日期对象的时间:

var videodate = new Date(2014,7,5);
var previousdate  = new Date(videodate.getTime() - (24 * 60 * 60 * 1000));

或者使用moment.js,它会让你在约会时更轻松:

var videodate = new Date(2014,7,5);
var previousdate = moment(videodate).subtract('days', 1);

两种方式都不会触及原始videodate变量。

演示:http://jsfiddle.net/IrvinDominin/pcPCJ/

答案 2 :(得分:0)

转换为时间戳

var videodatets = new Date('July 07 2014').getTime();

var previousdatets = videodatets-24*60*60*1000;

var videodate=new Date(videodatets);
var previousdate=new Date(previousdatets);
alert(videodate);
alert(previousdate);