在线等个解决方式var list ={
t0:'00:00-06:00 新闻1',
t1:'06:00-07:00 新闻2',
t2:'07:00-08:30 新闻3',
t3:'08:30-10:00 新闻4',
t4:'10:00-11:00 新闻5',
t5:'11:00-12:00 新闻6',
t6:'12:00-12:30 新闻7',
t7:'12:30-13:30 新闻8',
t8:'13:30-16:30 新闻9',
t9:'16:30-18:00 新闻10',
t10:'18:00-19:00 新闻11',
t11:'19:00-20:30 新闻12',
t12:'20:30-21:30 新闻13',
t13:'21:30-22:00 新闻14',
t14:'22:00-23:00 新闻15',
t15:'23:00-00:00 新闻16'
}上面给出了一个节目时间表,请问各位,如何把进行时间对比。在线等回复。

解决方案 »

  1.   

    什么意思,是和当前new date()做时间比较。 
    var myDate = new Date();
     var hour = myDate.getHours();
     var minute = myDate.getMinutes();
    var mytime=myDate.toLocaleTimeString();     //获取当前时间
      

  2.   


    var list ={
        t0:'00:00-06:00 新闻1',    
        t1:'06:00-07:00 新闻2',
        t2:'07:00-08:30 新闻3',
        t3:'08:30-10:00 新闻4',
        t4:'10:00-11:00 新闻5',
        t5:'11:00-12:00 新闻6',
        t6:'12:00-12:30 新闻7',
        t7:'12:30-13:30 新闻8',
        t8:'13:30-16:30 新闻9',
        t9:'16:30-18:00 新闻10',
        t10:'18:00-19:00 新闻11',
        t11:'19:00-20:30 新闻12',
        t12:'20:30-21:30 新闻13',
        t13:'21:30-22:00 新闻14',
        t14:'22:00-23:00 新闻15',
        t15:'23:00-00:00 新闻16'
    },reg=/^(\d+):(\d+)-(\d+):(\d+) +(.+)$/,now=new Date(),st,et,rs;
    st=new Date(now.getTime());
    et=new Date(now.getTime());
    now=now.getTime();
    for(var p in list){
        if(list.hasOwnProperty(p) && reg.test(list[p])){
            rs=list[p].match(reg);
            st.setHours(rs[1]);
            st.setMinutes(rs[2]);
            et.setHours(rs[3]);
            et.setMinutes(rs[4]);
            if(now-st.getTime()>0 && now-et.getTime()<0){
                alert(rs[5]);
                break;
            }
        }
    }