jquery - 验证今天选择的过去时间

标签 jquery twitter-bootstrap timepicker

我正在尝试向最终用户提供时间选择工具。限制是如果用户选择今天的日期并尝试选择时间。不应允许最终用户选择已经过去的今天时间。

我在这里面临的挑战是 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/

相关文章:

android - 将初始值设置为时间选择器

javascript - 我可以使用 onpopstate 事件的 target.location.href 来更改页面内容吗?

javascript - JSLint : 'numeral' was used before defined?

javascript - jquery通过id获取元素,多维数组

javascript - 在 Javascript 函数中从 $.getJSON 请求中传递数据

javascript - 右侧 Bootstrap 4 (Bootswatch) 上的多级导航栏

javascript - 为什么js中forEach不断递增?但在控制台看起来很完美。

html - 当 div 使用 css 有第二个 child 时删除第一个 child 填充

javascript - MaterializeCSS Timepicker 无法设置初始时间?

javascript - 从下拉列表中选择后触发更改事件