更改所选日期 - 仅限年份 - JS

时间:2017-11-09 05:27:59

标签: javascript date

我有一个约会让我们说" 17-2-1978"我检查过它是否过去了。在检查时,如果是在过去,我想只将年份改为2018年。如何做到这一点?

以下代码:

function startCountDown(){
    var testing = document.getElementById("events-div").lastChild.textContent;
    alert(testing);    
    var selectedDate = new Date(testing);
    var now = new Date();
    if (selectedDate < now) {
        var d = new Date();
        var n = d.getFullYear()+1;
        selectedDate.setDate(selectedDate + n);
        alert(selectedDate);
    }
}   

2 个答案:

答案 0 :(得分:2)

您可以使用setFullYear方法。例如:

var d = new Date();
d.setFullYear(2018);

要以您希望的格式显示,您可以使用getDategetMonthgetYear

var formatted = [d.getDate(), d.getMonth() + 1, d.getYear()].join('-');

月份从零开始,因此您需要为其添加1。

答案 1 :(得分:1)

首先需要正确解析日期字符串以构造日期对象:

var from = testing.split("-");
var d = new Date(from[2], from[1] - 1, from[0]);
var today = new Date();
if (d < today) {
    d.setFullYear(2018);
} else {
    //date is in future so no change
}

请参阅以下示例:

&#13;
&#13;
var testing="17-2-1978";
var from = testing.split("-");
var d = new Date(from[2], from[1] - 1, from[0]);
var today = new Date();
if (d < today) {
    d.setFullYear(2018);
} else {
    //date is in future so no change
}
document.getElementById("date").innerHTML=d;
&#13;
<p id="date"></p>
&#13;
&#13;
&#13;

相关问题