gpt4 book ai didi

javascript - 使用 Date.parse() 时的日期无效

转载 作者:行者123 更新时间:2023-12-03 02:01:03 26 4
gpt4 key购买 nike

我的 Web 应用程序上有一个日期选择器,它会生成以下输出 25-04-2018 16:50 :

enter image description here

它是:日-月-年时:分。

这个想法是我将有两个输入文本,并且第一个日期必须在第二个日期之前。否则,交换日期。

我想比较这种格式的两个日期,所以我尝试创建一个 Date 对象:

<input onchange="date()" type="text" readonly id="datetimepicker_1"/>
<input onchange="date()" type="text" readonly id="datetimepicker_2"/>

<script>
function date() {
var start = document.getElementById("datetimepicker_1");
var end = document.getElementById("datetimepicker_2");
if (start.value.trim() && end.value.trim()) {
var dateStart = new Date(start.value);
var dateEnd = new Date(end.value);

if (dateStart > dateEnd){
document.getElementById("datetimepicker_1").value = end.value;
document.getElementById("datetimepicker_2").value = start.value;
}
}
</script>

但我有以下错误:Invalid Date 。我如何比较这些日期?

最佳答案

JavaScript 似乎无法容忍您的日期格式。

您的日期格式为“日-月-年时-分”或 DD-MM-YYYY

我能够让以下代码在两种情况下工作;日期格式为:“年-月-日时-分”或“月-日-年时分”

这段代码写得非常糟糕,但我认为它说明了这个想法。

function DatePicker()
{
var datestart = new Date("2018-04-25 16:50"); //or 04-25-2018 16:50
console.log(datestart);
var datestart2 = new Date("2018-04-25 16:55"); //or 04-25-2018 16:50
console.log(datestart2);

if (datestart < datestart2)
{
console.log("success");
} else {
console.log("failed");
}

}

DatePicker();

我认识到世界上不同的国家/地区使用不同的日期格式。因此,为了解决您的问题,我建议使用“Moment.js”,以便您能够根据自己的喜好或需求设置日期格式,如下面链接的 Stack Overflow 问题和答案中所述。

DD/MM/YYYY Date format in Moment.js

关于javascript - 使用 Date.parse() 时的日期无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50025459/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com