makalet,
<script> var birthday = '07.09.2005'; var dd = birthday.split("."); var mydate = new Date(+dd[2]+10,dd[1]-1,dd[0]); var date = new Date(); date.setHours(0, 0, 0); var test = Math.round((mydate - date) / 864E5) document.write("юбилей через " +test + " дней<br>") </script> <script> var birthday = '07.09.2005'; var dd = birthday.split("."); var mydate = new Date(dd[2],dd[1]-1,dd[0]); mydate.setYear(+dd[2]+10); var date = new Date(); date.setHours(0, 0, 0); var test = Math.round((mydate - date) / 864E5) document.write("юбилей через " +test + " дней<br>") </script> |
рони, а чтобы определить сколько именно лет исполняется?
|
makalet,
гнать циклом пока test не станет положительным |
makalet,
<script> var birthday = '07.09.2005'; var dd = birthday.split("."); var mydate = new Date(dd[2],dd[1]-1,dd[0]); var date = new Date(); date.setHours(0, 0, 0); for (var i=0; ; i+=10) { mydate.setYear(+dd[2]+i); var test = Math.round((mydate - date) / 864E5); if(test > 0) {document.write(i +" лет юбилей через " +test + " дней<br>"); break } } </script> |
спасибо
|
makalet,
mydate.setYear(+dd[2]+i); mydate.setYear(2005+10); mydate.setYear(2005+20); далее сами |
рони, ясно.
|
Рони, а как дописать к вашему примеру, вывод двух ближайших юбилеев.
когда рассчитывается кол-во прожитых дней, мы результат округляем к ближайшим двум тысячным юбилеям (которые будут), и выводим информацию: ближайший юбилей 14000 дней будет ... марта 2018 года следующий юбилей 15000 дней будет .... октября 2021 года |
mrt19,
<script> var birthday = '07.09.2005'; var dd = birthday.split("."); var mydate = new Date(dd[2],dd[1]-1,dd[0]); var date = new Date(); date.setHours(0, 0, 0); for (var i=0; ; i+=1000) { mydate = new Date(dd[2],dd[1]-1,+dd[0]+i); var test = Math.round((mydate - date) / 864E5); document.write(mydate.toLocaleDateString()+" "+i+"<br>"); if(test > 0) {document.write("ближайший юбилей "+ i +" дней через " +test + " дней " + mydate.toLocaleDateString()+"<br>"); break } } i+=1000; mydate = new Date(dd[2],dd[1]-1,+dd[0]+i); test = Math.round((mydate - date) / 864E5); document.write("следующий юбилей "+ i +" дней через " +test + " дней " + mydate.toLocaleDateString()); </script> |
Благодарю, Рони ))
Но чтобы эти строки расчёта: ближайший юбилей 5000 дней через 720 дней 17.05.2019 следующий юбилей 6000 дней через 1720 дней 10.02.2022 интегрировать в ваш первый скрипт в теме. Дата рождения уже введена при количестве расчёта дней (выводятся дни, как он и делает, а ниже две эти строки) |
Часовой пояс GMT +3, время: 12:25. |