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, время: 08:12. |