比较 JavaScript 中的时间和日期

发布于 2024-12-16 17:01:14 字数 441 浏览 0 评论 0原文

假设有两个文本框,一个用于输入日期,另一个用于输入时间。下面是一个示例:

<p><strong>Date:</strong> <input type="text" id="datetxt"></p>

Example of how date is displayed: 25-05-1995

<p><strong>Time:</strong> <input type="text" id="timetxt"></p>

Example of how time is displayed: 14:25

有人可以建议一种在 javascript 中将文本框中的日期和时间值与当前日期和时间进行比较的方法吗,这样如果当前日期和时间超过了文本框中输入的日期和时间,那么它应该显示和警报?

Lets say there are two textboxes, one to enter in a date and the other to enter in time. Below is an example:

<p><strong>Date:</strong> <input type="text" id="datetxt"></p>

Example of how date is displayed: 25-05-1995

<p><strong>Time:</strong> <input type="text" id="timetxt"></p>

Example of how time is displayed: 14:25

Can someone suggest a way in javascript to compare values of the date and time from the textboxes to the current date and time so if the current date and time is past the date and time entered in the textboxes, then it should display and alert?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

゛清羽墨安 2024-12-23 17:01:14

尝试这个

var dateParts = document.getElementById("datetxt").value.split("-");
var timeParts = document.getElementById("timetxt").value.split(":");

var valueDate = new Date(dateParts[2], (dateParts[1] - 1) ,dateParts[0], timeParts[0], timeParts[1]);

if( (new Date).getTime() > valueDate .getTime() )
{
   alert("passed");
}

实时示例:http://jsfiddle.net/TJEMr/

Try this

var dateParts = document.getElementById("datetxt").value.split("-");
var timeParts = document.getElementById("timetxt").value.split(":");

var valueDate = new Date(dateParts[2], (dateParts[1] - 1) ,dateParts[0], timeParts[0], timeParts[1]);

if( (new Date).getTime() > valueDate .getTime() )
{
   alert("passed");
}

Live example: http://jsfiddle.net/TJEMr/

烙印 2024-12-23 17:01:14

您需要将日期字符串调整为兼容的日期格式:

    //datetxt textbox value, split on dashes
var date = "25-05-1995".split("-"), 
    //timetxt textbox value
    time = "14:25",
    //put it into format: YYYY-MM-DDThh:mm and creates a date object from it
    dateObj = new Date(date[2] + '-' + date[1] + '-' + date[0] + 'T' + time);

//if today is greater than we have passed that DateTime
if(new Date() > dateObj) {
    alert("After entered date");
} else {
    alert("Not passed yet!");
}

工作示例:jsFiddle

You need to massage your date string into a compatible date format:

    //datetxt textbox value, split on dashes
var date = "25-05-1995".split("-"), 
    //timetxt textbox value
    time = "14:25",
    //put it into format: YYYY-MM-DDThh:mm and creates a date object from it
    dateObj = new Date(date[2] + '-' + date[1] + '-' + date[0] + 'T' + time);

//if today is greater than we have passed that DateTime
if(new Date() > dateObj) {
    alert("After entered date");
} else {
    alert("Not passed yet!");
}

Working example: jsFiddle

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文