javascript - 如何针对不同的条件将日期设置为 ISOString
问题描述
我正在尝试根据不同的条件设置未来的日期,然后使用 ISOString 方法将日期转换为字符串。这是代码示例;
<input type="text" name="unknown" id="dater" />
<p id="show"></p>
<button id="but">Show Date</button>
拥有脚本:
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;
结果:
2018-05-27
输出基于今天的日期,即“2018-05-15”。现在我想根据不同的条件设置不同的日期。我尝试了以下方法:
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;
}
如果我在文本字段中输入 5、12 或 3,则单击按钮时不会发生任何事情。它只返回相同的日期“2018-05-27”。但是,如果我说
document.getElementById("show").innerHTML = n;
或者
document.getElementById("show").innerHTML = n.toISOString();
它以毫秒为单位返回日期。
解决方案
我认为这段代码会对你有所帮助。您没有将变量转换为 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();
}
推荐阅读
- php - 比较两个结果并显示结果 PHP
- telegram-bot - 电报机器人如何向活跃的聊天/用户广播消息
- javascript - 如何添加类型以在节点 v12 中使用 Intl.ListFormat
- windows - 将批处理转换为 VBS 脚本
- msbuild - MSBuild GenerateResource 任务生成命名空间不完整的资源文件名,导致我们的应用在运行时崩溃
- powershell - Powershell同步重命名目录中的文件
- tesseract - 使用 tesseract 对简单图像进行 OCR 识别的准确率低得惊人。我该如何改进它?
- python - 如何使用 OpenCV 和 Python 创建语义图
- python - Python /Pandas 使用 ibm_db 将数据帧插入 DB2 表
- c++ - 在 QWidget 内的 QGraphicsScene 内绘制