13.09.2015, 21:48
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
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>
|
|
13.09.2015, 21:55
|
Аспирант
|
|
Регистрация: 25.05.2015
Сообщений: 76
|
|
рони, а чтобы определить сколько именно лет исполняется?
Последний раз редактировалось makalet, 14.09.2015 в 14:31.
|
|
13.09.2015, 22:03
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
makalet,
гнать циклом пока test не станет положительным
|
|
13.09.2015, 22:10
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
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>
|
|
13.09.2015, 22:21
|
Аспирант
|
|
Регистрация: 25.05.2015
Сообщений: 76
|
|
спасибо
Последний раз редактировалось makalet, 14.09.2015 в 14:31.
|
|
13.09.2015, 22:37
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
makalet,
mydate.setYear(+dd[2]+i);
mydate.setYear(2005+10);
mydate.setYear(2005+20);
далее сами
|
|
13.09.2015, 23:09
|
Аспирант
|
|
Регистрация: 25.05.2015
Сообщений: 76
|
|
рони, ясно.
Последний раз редактировалось makalet, 14.09.2015 в 14:31.
|
|
27.05.2017, 16:40
|
Новичок на форуме
|
|
Регистрация: 27.05.2017
Сообщений: 2
|
|
Рони, а как дописать к вашему примеру, вывод двух ближайших юбилеев.
когда рассчитывается кол-во прожитых дней, мы результат округляем к ближайшим двум тысячным юбилеям (которые будут), и выводим информацию:
ближайший юбилей 14000 дней будет ... марта 2018 года
следующий юбилей 15000 дней будет .... октября 2021 года
|
|
27.05.2017, 17:02
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
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>
|
|
27.05.2017, 17:21
|
Новичок на форуме
|
|
Регистрация: 27.05.2017
Сообщений: 2
|
|
Благодарю, Рони ))
Но чтобы эти строки расчёта:
ближайший юбилей 5000 дней через 720 дней 17.05.2019
следующий юбилей 6000 дней через 1720 дней 10.02.2022
интегрировать в ваш первый скрипт в теме.
Дата рождения уже введена при количестве расчёта дней (выводятся дни, как он и делает, а ниже две эти строки)
|
|
|
|