我是 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/