如何从截止日期前获得数月和数年

时间:2016-07-26 10:57:56

标签: jquery

如何从截止日期算起数月和数年。

var deadline = '12 28 2016 18:40:18 GMT-0400';
var t = Date.parse(endtime) - Date.parse(new Date());

var seconds = Math.floor( (t/1000) % 60 );
var minutes = Math.floor( (t/1000/60) % 60 );
var hours = Math.floor( (t/(1000*60*60)) % 24 );
var days = Math.floor( t/(1000*60*60*24) );
var months = // ?
var years = // ?

2 个答案:

答案 0 :(得分:0)

LMGTFY:

function monthDiff(d1, d2) {
    var months;
    months = (d2.getFullYear() - d1.getFullYear()) * 12;
    months -= d1.getMonth() + 1;
    months += d2.getMonth();
    return months <= 0 ? 0 : months;
}

source

function yearDiff(d1, d2) { // birthday is a date
    var yearDiffMs = d2.getTime() - d1.getTime();
    var yearDate = new Date(yearDiffMs);
    return Math.abs(yearDate.getUTCFullYear() - 1970);
}

source

编辑:如果你想分开所有的东西,这里有一个很好的方法:

// Make sure both are valid date objects
var diff = Math.abs(date1 - date2);

var year = myDate.getFullYear();
var month = (myDate.getMonth() + 1);
var dateOfDay = myDate.getDate();

var hours = myDate.getHours();
var minutes = myDate.getMinutes();
var seconds = myDate.getSeconds();
var ms = myDate.getMilliseconds();

答案 1 :(得分:0)

首先将日期指定为变量Date,如下所示:

var deadline = new Date("December 28, 2016 06:00:00");

//to get date
var theDate = deadline.getDate()
//to get month
var theMonth = deadline.getMonth()
//to get month
var theMonth = deadline.getFullYear()

如果您的代码是javascript来显示结果

//to show date    
document.getElementById("element").innerHTML = theDate;
//to show Month    
document.getElementById("element").innerHTML = theMonth;
//to show date    
document.getElementById("element").innerHTML = theYear;

如果是JQuery,请按照这样打印

$("#showDate").html("theDate");
$("#showMonth").html("theMonth");
$("#showYear").html("theYear");

我希望这可以帮到你!