日期:扫描 “今天,明天,后天,周X,下周X,Y月Y日,X月X日,X日,X号,XXXX年XX月XX日,XX.XX”等范式命中,将其转换为日期值作为日期。 
钟点:扫描“上午X点(XX分),上午Y点(YY分),下午X点(XX分),下午Y点(YY分),xx点,XX:XX ”等范式命中,将其转换为时间值作为钟点。 求解~

解决方案 »

  1.   

    function getDay( date, increment ){//处理 今天,明天,后天的
    date.setDate(date.getDate() + increment);
    return date.getFullYear() + "-" + date.getMonth()+1 + "-" + date.getDate();
    }var date = new Date();
    var today = date.getFullYear() + "-" + date.getMonth()+1 + "-" + date.getDate();
    var temp = date;
    temp.setDate(temp.getDate() -1);
    var tomorrow = temp.getFullYear() + "-" + temp.getMonth()+1 + "-" + temp.getDate();//这个tomorrow会正确处理比如今天是3.31号,求tomorrow的情况
    var test = /(今天)|(明天)|周([一二三四五六日])|([0-9]{1,2})月|([上|下])午([0-9])点\(([0-9]{1,2})分\)/g;
    var result = test.exec("请你在今天之后的明天的周四的11月的下午2点(15分)来报道");
    while(true){
    console.log(result);
    result = test.exec("请你在今天之后的明天的周四的11月的下午2点(15分)来报道");
    if(!test.lastIndex){
    break;
    }
    if(result[1]){//处理今天 result[1]==今天
    }else if(result[2]){//result[2]==明天
    }else if(result[3]){//result[3]==周几中的"一“或者"二"或者
    }else if(result[4]){//result[4] ==月份中的月数
    }else if(result[5] && result[6] && result[7]){//分别等于 上或者下 几点 几分
    }else{//其他默认处理
    }
    }