给定一个日期/时间字符串,w javascript / jquery,你如何确定它是否是今天?

时间:2012-06-06 18:43:31

标签: javascript jquery

给定日期/时间字符串,例如:

2010-12-12 19:27:00Z

使用JS / jQuery如何轻松确定是否是今天?

由于

4 个答案:

答案 0 :(得分:5)

如果您的日期始终采用以下格式:

YYYY-MM-DD HH:mm:SSZ

然后这应该这样做:

var input = '2010-12-12 19:27:00Z';
var year  = parseInt(input.substring(0, 4),  10);
var month = parseInt(input.substring(5, 7),  10);
var day   = parseInt(input.substring(8, 10), 10);
var d     = new Date();

if(d.getUTCFullYear() === year && d.getUTCMonth() + 1 === month && d.getUTCDate() === day) {
    // It's today
} else {
    // It's not
}

答案 1 :(得分:3)

您可以使用 Date.parse将字符串转换为时间戳 new Date,以将字符串解析为Date对象。

var date = '2010-12-12 19:27:00Z',
    // then = new Date(Date.parse(date)),
    then = new Date(date),
    // Firefox doesn't support dates in this format
    // you can covert it to an accepted format like this:
    // then = new Date(date.replace(/(.*) (.*)Z/,'$1T$2'))
    now = new Date;

然后你可以比较日期。

if(then.toDateString() === now.toDateString())

答案 2 :(得分:2)

这样的事情应该有效,尽管这假设月和日字段总是2位数。

    var dateInput = "2010-12-12 19:27:00Z"
    var date = dateInput.substring(0, 10); //"2010-12-12"
    var d = new Date();
    var today = d.getFullYear() + "-" + ( d.getMonth() + 1 ) + "-" + d.getDate();

    if( date == today )
        match = true;
    else
        match = false;   

答案 3 :(得分:2)

var input = new Date('2012-06-07 19:27:00Z');
var curr = new Date();
var iDate = input.getDate+'-'+input.getMonth()+'-'+input.getFullYear();
var currDate = curr.getDate+'-'+curr.getMonth()+'-'+curr.getFullYear();
if(iDate== currDate){
    console.log("today");
}else{
    console.log("not");
}

以下是Demo