Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 13.09.2015, 21:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

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>
Ответить с цитированием
  #22 (permalink)  
Старый 13.09.2015, 21:55
Аспирант
Отправить личное сообщение для makalet Посмотреть профиль Найти все сообщения от makalet
 
Регистрация: 25.05.2015
Сообщений: 76

рони, а чтобы определить сколько именно лет исполняется?

Последний раз редактировалось makalet, 14.09.2015 в 14:31.
Ответить с цитированием
  #23 (permalink)  
Старый 13.09.2015, 22:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

makalet,
гнать циклом пока test не станет положительным
Ответить с цитированием
  #24 (permalink)  
Старый 13.09.2015, 22:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

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>
Ответить с цитированием
  #25 (permalink)  
Старый 13.09.2015, 22:21
Аспирант
Отправить личное сообщение для makalet Посмотреть профиль Найти все сообщения от makalet
 
Регистрация: 25.05.2015
Сообщений: 76

спасибо

Последний раз редактировалось makalet, 14.09.2015 в 14:31.
Ответить с цитированием
  #26 (permalink)  
Старый 13.09.2015, 22:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

makalet,
mydate.setYear(+dd[2]+i);
mydate.setYear(2005+10);
mydate.setYear(2005+20);
далее сами
Ответить с цитированием
  #27 (permalink)  
Старый 13.09.2015, 23:09
Аспирант
Отправить личное сообщение для makalet Посмотреть профиль Найти все сообщения от makalet
 
Регистрация: 25.05.2015
Сообщений: 76

рони, ясно.

Последний раз редактировалось makalet, 14.09.2015 в 14:31.
Ответить с цитированием
  #28 (permalink)  
Старый 27.05.2017, 16:40
Новичок на форуме
Отправить личное сообщение для mrt19 Посмотреть профиль Найти все сообщения от mrt19
 
Регистрация: 27.05.2017
Сообщений: 2

Рони, а как дописать к вашему примеру, вывод двух ближайших юбилеев.
когда рассчитывается кол-во прожитых дней, мы результат округляем к ближайшим двум тысячным юбилеям (которые будут), и выводим информацию:
ближайший юбилей 14000 дней будет ... марта 2018 года
следующий юбилей 15000 дней будет .... октября 2021 года
Ответить с цитированием
  #29 (permalink)  
Старый 27.05.2017, 17:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

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>
Ответить с цитированием
  #30 (permalink)  
Старый 27.05.2017, 17:21
Новичок на форуме
Отправить личное сообщение для mrt19 Посмотреть профиль Найти все сообщения от mrt19
 
Регистрация: 27.05.2017
Сообщений: 2

Благодарю, Рони ))

Но чтобы эти строки расчёта:

ближайший юбилей 5000 дней через 720 дней 17.05.2019
следующий юбилей 6000 дней через 1720 дней 10.02.2022

интегрировать в ваш первый скрипт в теме.
Дата рождения уже введена при количестве расчёта дней (выводятся дни, как он и делает, а ниже две эти строки)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как найти и посчитать одинаковые изображения в массиве? Michael_isr Общие вопросы Javascript 2 05.08.2014 16:55
Как посчитать буферизацию видео при http live streaming ozzon91 Javascript под браузер 1 16.07.2014 19:16
Мотоциклисты есть? l-liava-l Оффтопик 13 04.07.2014 13:35
alert( (5-5)/(5-5) ) КАК посчитать такое выражение одной строкой? Livanderiaamarum Общие вопросы Javascript 22 15.12.2011 01:47
как посчитать сумму выбранных элементов checkbox nikimak92 Общие вопросы Javascript 9 01.06.2010 10:16