javascript - 将字符串转换为日期并与当前日期进行比较

标签 javascript date format

我是 JavaScript 新手。 我正在尝试将字符串中的日期与当前的 javascript 日期进行比较。

function testDate() {
    var theTestDate = "21:36:40 30/02/2014";

    var xxx = new Date();

    var theTestDateNow = xxx.getHours() + ':' + xxx.getMinutes() + ':' + xxx.getSeconds() + ' ' + xxx.getDate() + '/' + (xxx.getMonth()+1) + '/' + xxx.getFullYear();
    if (theTestDateNow < theTestDate) {
        alert("New");
    }   else {
            alert ("old");
        }
}
testDate();

我尝试将当前日期格式化为该字符串格式,但现在我认为需要格式化该字符串,以便 javascript 可以知道它是一个日期;我不知道怎么办。

最佳答案

将测试日期转换为 Date 对象会更容易 (有几种方法可以做到这一点)并比较它们:

function testDate() {
    var theTestDate = "21:36:40 30/02/2014";
    var testDateObject = Date(Date.parse(theTestDate ));
    var now= new Date();


    if (testDateObject > now) {
        alert("New");
    } else {
        alert ("old");
    }
}
testDate();

Date.parse()适用于格式良好的日期字符串
Date()标准构造函数:Date(年、月-1、日、小时、分钟、秒、毫秒)

编辑:通过一些进一步的研究,迄今为止解析字符串的最佳方法是使用自定义函数并使其适应您的特定情况:

function parseDate(str) {
    var parts = str.match(/\d+/g); //extract group of digits
    return new Date(parts[5],parts[4]-1,parts[3],parts[0],parts[1],parts[2]);

}
var my_date = parseDate('21:36:40 15/02/2014');
var now= new Date();
alert( (my_date > now) ? 'New':'Old');

关于javascript - 将字符串转换为日期并与当前日期进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21908527/

相关文章:

javascript - Object.create和原型(prototype)继承

javascript - 如何通过嵌套对象/数组正确循环/ng-repeat?

javascript - d3.js 没有从 PHP 文件读取我的 JSON 数据

javascript - React.js 和 webpack - 为什么它不允许 var、let、const?

c# - 将月差添加到新日期

format - NLog:使用空格格式化日志级别

swift - Swift 中的 NSString 格式未达到预期效果

date - 如何使用 Powershell 根据最新日期从日志文件中提取最新行

Java:JPQL 日期函数将时间段添加到另一个日期

python - 将 SAS 数字转换为 python 日期时间