вот моё изобретение, не много корявое, но работает, 1-ым параметром подаешь 1-ую дату до которой надо отсчитать, далее 2-ым параметром в массиве подаем, другие даты, после 1-ой, повторяюсь код сырой, можно упростить, просто лень, рабоатет и ладно=)
function timer( objname, mysqldate, attr, b_next ){
//var y, m, d, h=0, i=0, s=0;
h=0; i=0; s=0;
comment_start = attr.start!=undefined ? attr.start : '';
comment_end = attr.end !=undefined ? attr.end : mysqldate+' - эта дата уже прошла!';
if( ymd = /^(\d\d\d\d)-(\d\d)-(\d\d)/.exec(mysqldate) ){
y = ymd[1];
m = Number(ymd[2])-1;
d = ymd[3];
//alert('y=>'+y+' m=>'+m+' d=>'+d);
if( his = /(\d\d):(\d\d):(\d\d)$/.exec(mysqldate) ){
h = his[1];
i = his[2];
s = his[3];
//alert('h=>'+h+' i=>'+i+' s=>'+s);
}
} else {
$( objname ).text(mysqldate+ '- не соответствует формату YYYY-MM-DD [H:i:s]');
return;
}
finishday = new Date( y, m, d, h, i, s );
endTS = finishday.getTime();
var intervalid = setInterval(function(){
now = new Date();
totalRemains = (endTS - now.getTime());
if (totalRemains>1){
RemainsSec=(parseInt(totalRemains/1000));
RemainsFullDays=(parseInt(RemainsSec/(24*60*60)));
secInLastDay=RemainsSec-RemainsFullDays*24*3600;
RemainsFullHours=(parseInt(secInLastDay/3600));
if (RemainsFullHours<10){RemainsFullHours="0"+RemainsFullHours};
secInLastHour=secInLastDay-RemainsFullHours*3600;
RemainsMinutes=(parseInt(secInLastHour/60));
if (RemainsMinutes<10){RemainsMinutes="0"+RemainsMinutes};
lastSec=secInLastHour-RemainsMinutes*60;
if (lastSec<10){lastSec="0"+lastSec};
$( objname ).html( comment_start + (RemainsFullDays ? "<span>"+RemainsFullDays+"дн.</span> " :"")+RemainsFullHours+"ч. "+RemainsMinutes+"м. "+lastSec+"с.");
} else {
clearInterval(intervalid);
if(b_next && typeof b_next==='object'){
next = b_next[3]!=undefined ? b_next[3] : '';
timer(b_next[0], b_next[1], b_next[2], next);
} else {
$( objname ).text( comment_end );
}
}
},1000);
}
timer(
'.timer', "<?php echo date('Y-m-d 12:00:00');?>", {start: 'До обеда осталось: '},[
'.timer', "<?php echo date('Y-m-d 13:15:00');?>", {start: 'Все бежим на ОБЕД! До конца обеда осталось: '},[
'.timer', "<?php echo date('Y-m-d 17:00:00');?>", {start: 'До конца рабочего дня осталось: ', end: 'Всё, хорош работать, бегите домой!'}
]
]
);