gpt4 book ai didi

javascript - 比较日期 javascript

转载 作者:行者123 更新时间:2023-11-30 18:44:40 26 4
gpt4 key购买 nike

我需要使用一些 javascript(jquery) 验证不同的日期。

我有一个文本框,来自 jquery (http://plugins.jquery.com/plugin-tags/inputmask) 的输入掩码。我使用的面具是“d/m/y”。

现在我已经设置了一个 CustomValidator 函数来验证日期。

我需要 2 个函数。一个检查给定日期是否大于 18 年前。您必须年满 18 岁。一种检查日期是否不在未来的功能。它只能在过去。

函数是这样的

function OlderThen18(source, args) {
}

function DateInThePast(source, args) {
}

如您所知,使用 args.Value 返回的值是 27/12/1987

但是我如何在函数中检查这个日期呢?这样我就可以将 args.IsValid 设置为 True 或 False。

我试图解析从屏蔽文本框返回的字符串 (27/12/1987) 到日期,但我总是得到一个返回值,如 27/12/1988 。那么我如何检查给定的日期和其他日期呢?

最佳答案

简单的方法是在提供的日期上加上 18 年,看看结果是今天还是更早,例如:

// Input date as d/m/y or date object
// Return true/false if d is 18 years or more ago
function isOver18(d) {
var t;
var now = new Date();
// Set hours, mins, secs to zero
now.setHours(0,0,0);

// Deal with string input
if (typeof d == 'string') {
t = d.split('/');
d = new Date(t[2] + '/' + t[1] + '/' + t[0]);
}

// Add 18 years to date, check if on or before today
if (d.setYear && d.getFullYear) {
d.setYear(d.getFullYear() + 18);
}
return d <= now;
}

// For 27/4/2011
isOver18('27/4/2011'); // true
isOver18('26/4/2011'); // true
isOver18('28/4/2011'); // false

关于javascript - 比较日期 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5796380/

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