[英]How to I set a date to ISOString for different conditions
I'm trying to set a date in future based on different condition and then convert the date into string using the ISOString method.我正在尝试根据不同的条件设置未来的日期,然后使用 ISOString 方法将日期转换为字符串。 This is an example of the code;
这是代码示例;
<input type="text" name="unknown" id="dater" />
<p id="show"></p>
<button id="but">Show Date</button>
Having the script:有脚本:
var text = document.getElementById("dater");
var date = new Date();
var n = date.setDate(date.getDate() + 12);
var x = date.toISOString()
var y = x.slice(0, -14);
document.getElementById("show").innerHTML = y;
Result:结果:
2018-05-27
The output is based on today's date which is "2018-05-15".输出基于今天的日期,即“2018-05-15”。 Now I want to set different date based on different conditions.
现在我想根据不同的条件设置不同的日期。 I tried the following:
我尝试了以下方法:
var pres = document.getElementById("but").addEventListener("click", now)
function now() {
var text = document.getElementById("dater");
var date = new Date();
var n = date.setDate(date.getDate() + 12);
var x = date.toISOString()
var y = x.slice(0, -14);
if(text.value == 5) { n = date.setDate(date.getDate() + 15)
} else if(text.value == 12) { n = date.setDate(date.getDate() + 22)
} else { n = date.setDate(date.getDate() + 3) }
document.getElementById("show").innerHTML = y;
}
if i input 5, 12 or 3 in the text field, nothing happens when I click the button.如果我在文本字段中输入 5、12 或 3,单击按钮时不会发生任何事情。 It just returns the same date "2018-05-27".
它只是返回相同的日期“2018-05-27”。 However, if i say
但是,如果我说
document.getElementById("show").innerHTML = n;
or或者
document.getElementById("show").innerHTML = n.toISOString();
It returns the date in milliseconds.它以毫秒为单位返回日期。
I think this code will help you.我认为这段代码会对你有所帮助。 you are not converting your variable in to Date object.
您没有将变量转换为 Date 对象。
window.onload = function () {
var pres = document.getElementById("but").addEventListener("click", now);
}
function now() {
var text = document.getElementById("dater");
var date = new Date();
var n = date.setDate(date.getDate() + 12);
var x = date.toISOString()
var y = x.slice(0, -14);
if (text.value == 5) {
n = date.setDate(date.getDate() + 15)
} else if (text.value == 12) {
n = date.setDate(date.getDate() + 22)
} else { n = date.setDate(date.getDate() + 3) }
document.getElementById("show").innerHTML = new Date(n).toISOString();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.