为了账号安全,请及时绑定邮箱和手机立即绑定

javascript 如何判断传入的日期是否是今天

javascript 如何判断传入的日期是否是今天

HUWWW 2019-03-29 22:15:06
//PHP中直接这样使用就可以获取这一天0点0分0秒的时间$dt = date('Y-m-d');//javascript如何获取当天的时间//目的是跟一个字符串比如 2014-7-8 2014-07-08做比较是否是同一天function isToday(str){    var d = new Date(str);    if(d == new Date()){        return true;    } else {        return false;    }}console.log(isToday('2014-7-8'));console.log(isToday('2014-07-08'));
查看完整描述

8 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

javascript 似乎不能对2014-7-8这样的格式解析,要么带前缀0,要么“-”替换成“/”才能正确解析。


function isToday(str){

    var d = new Date(str.replace(/-/g,"/"));

    var todaysDate = new Date();

    if(d.setHours(0,0,0,0) == todaysDate.setHours(0,0,0,0)){

        return true;

    } else {

        return false;

    }

}


console.log(isToday('2014-7-8'));

console.log(isToday('2014-07-08'));


查看完整回答
反对 回复 2019-04-13
?
九州编程

TA贡献1785条经验 获得超4个赞

只用JavaScript实现,举一个例子:


//javascript如何获取当天的时间


function isToday(str){

    var d = new Date();

    var y = d.getFullYear(); // 2014


    var m = d.getMonth() + 1; // 7,月份从0开始的,注意


    var d = d.getDate(); // 9


    var date_str = y + '-' + m + '-' + d;

    return str == date_str; 

}



console.log(isToday('2014-7-8'));


查看完整回答
反对 回复 2019-04-13
?
BIG阳

TA贡献1859条经验 获得超6个赞

function isToday(date){

    var today=new Date(),


        //获取从今天0点开始到现在的时间

        todayTime=today.getTime()%(1000*60*60*24),

        //获取要判断的日期和现在时间的偏差

        offset=date.getTime()-today.getTime(),

        //获取要判断日期距离今天0点有多久

        dateTime=offset+todayTime;


    if(dateTime<0||dateTime>1000*60*60*24){

        return false;

    }else{

        return true;

    }

}


isToday(new Date('2013-7-8'));

isToday(new Date('2014-7-8'));

isToday(new Date('2015-7-8'));


isToday(new Date());

isToday(new Date(123465));


查看完整回答
反对 回复 2019-04-13
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

首先用chrome的控制台试了一下 '2014-7-8'和 '2014-07-08'都可以解析成功

导致题主这样子解析失败的是 引用对象用双等号判断地址而不是值

return new Date(str).getTime() == new Date().setHours(0, 0, 0, 0);


查看完整回答
反对 回复 2019-04-13
?
手掌心

TA贡献1942条经验 获得超3个赞

function isToday(date){

    var today = new Date();

    today.setHours(0);

    today.setMinutes(0);

    today.setSeconds(0);

    today.setMilliseconds(0);

    var offset=date.getTime()-today.getTime()

    return offset>=0&&offset<=1000*60*60*24

}


查看完整回答
反对 回复 2019-04-13
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

Date对象有个toLocaleDateString方法可以获取日期部分的字符串,像这样:


function isToday(date){

    var today = new Date().toLocaleDateString();

    var date = new Date(date).toLocaleDateString();

    return today == date;

}


查看完整回答
反对 回复 2019-04-13
  • 8 回答
  • 0 关注
  • 2574 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号