0

有关日期格式的所有其他主题都假定日期以整数形式输入。

我正在编写一个脚本(Linux),它要求月份是一个字符串(Jan、Feb、Mar 等)并且需要验证日期。

我写了一个笨重的例程来提取月份,确定月份编号,然后进行比较,但我希望那里可能有更整洁的东西来做到这一点?我以为我已经看到了有关使用“格式”方法的信息,但现在找不到了...

我已经尝试过了,但它失败了:

var checkDate1 = document.getElementById('fromDate').value;
var checkDate2 = document.getElementById('toDate').value;

tmpDate1 = new Date(checkDate1);
tmpDate2 = new Date(checkDate2);

if (tmpDate1 < tmpDate2) {

例如,典型的字段条目将是“2012 年 5 月 12 日”。

注意:我无权在系统中添加任何花哨的、奇特的库,所以只能使用原版的东西。

4

1 回答 1

0

在 JavaScript 中,要在构造函数中解析,字符串 Date 必须具有以下格式:D, d MYH:i:s

现在是:2012 年 5 月 29 日,星期二 15:22:59

如果您想继续使用字符串,则必须创建一个花哨的函数来解析您的值,并找出 2012 年 5 月 29 日是哪一天。

另一种方法(更简单)是创建一个新的日期,解析您的值并使用其他构造函数的 on

var today = '05-29-2012',
    aToday = today.split('-'),
    dToday = new Date(aToday[2], aToday[0], aToday[1], 0, 0, 0, 0),

    tomorrow = '05-30-2012',
    aTomorrow = tomorrow.split('-'),
    dTomorrow = new Date(aTomorrow[2], aTomorrow[0], aTomorrow[1], 0, 0, 0, 0);

if (dTomorrow.getTime() > dToday.getTime() ) {
    console.log('Tomorrow is tomorrow'); 
} else {
    console.log('Tomorrow is not tomorrow');
}
于 2012-05-29T15:18:31.287 回答