试图在node.js中计算第二天的结束

时间:2014-08-06 18:51:06

标签: node.js date datetime

我试图将任何给定日期的第二天结束计算为到期日。

因此,如果输入是例如10/26/2013 16:36:46那么我想得到10/27/2013 23:59:59和7/31/2013 16:36:46给我8/1/2013 23:59:59

闰年显然很难,第二天是新的一个月。所以我试着使用dateParse函数,它给了我一个数字,我可以轻松地添加86400000(全天以毫秒为单位),然后我想基本上使用dateParse的反向(将数字转换成日期对象),这样我就可以了取出日期组件并用23:59:59

替换时间组件

这里的代码不起作用 - setTime似乎不是正确的功能,并使我的next_day变量"未定义"

    var next_day = call_start.dateParse + 86400000; // adding a full day to it
    next_day = next_day.setTime;
    var day = next_day.getDate;
    day = (day < 10 ? "0" : "") + day;
    var month = next_day.getMonth + 1;
    month = (month < 10 ? "0" : "") + month;
    var year = next_day.getFullYear;
    var hour = 23;
    var min = 59;
    var sec = 59;
    var expiry = year + ":" + month + ":" + day + ":" + hour + ":" + min + ":" + sec;
    console.log ('Streak expires at: ' + expiry);

1 个答案:

答案 0 :(得分:3)

您可以使用set*功能修改日期:

var date = new Date('7/31/2013 16:36:46');

date.setDate(date.getDate() + 1);
date.setHours(23);
date.setMinutes(59);
date.setSeconds(59);

console.log(date);
// Thu Aug 01 2013 23:59:59 GMT+0200 (CEST)