我正在尝试向最终用户提供时间选择工具。限制是如果用户选择今天的日期并尝试选择时间。不应允许最终用户选择已经过去的今天时间。
我在这里面临的挑战是 Bootstrap 日期选择器使用一种格式。不同系统格式的比较需要。
如何与日期进行比较,将它们设置为一种格式,以便我可以进行比较,然后检查时间验证。
我正在使用 Bootstrap 时间选择器和日期选择器
。
我已经尝试过,但陷入了不同格式和时间比较的困境。
var tDate = $('#RequestToDate').val();
var now = new Date();
var twoDigitMonth = ((now.getMonth().length + 1) == 1) ? (now.getMonth() + 1) : (now.getMonth() + 1);
var currentDate = twoDigitMonth + "/" + now.getDate() + "/" + now.getFullYear();
now = now.getHours() + ':' + now.getMinutes();
if (tDate.toString() == currentDate) {
if (ftime <= now || totime <= ftime) {
//Show A Error message
}
}
最佳答案
看看moment.js ,它具有非常好的功能,可以将日期与不同格式相互转换。
文档的这一部分与您的问题相关:http://momentjs.com/docs/#/parsing/string-format/
您可以从字符串创建一个“时刻”,如下所示:
moment("12-25-1995", "MM-DD-YYYY");
第一个参数是字符串输入,第二个参数是您定义的格式,以便 moment.js 知道字符串的哪一部分等于日、月、年等。
一旦您将所有时间都视为“时刻”,您就可以轻松地比较它们、更改它们并以不同的格式输出它们。
Moment.js 还具有比较函数:http://momentjs.com/docs/#/query/is-before/
关于jquery - 验证今天选择的过去时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19790868/