Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   расчет возраста (https://javascript.ru/forum/misc/1242-raschet-vozrasta.html)

nameivan 24.05.2008 09:35

расчет возраста
 
Есть 2 поля, в одно из которых вводится текущая дата при помощи сприпта JS в формате 01-01-2008. Во второе поле вводим дату сами тоже в формате 01-01-2008. Необходимо расчитать сколько лет между датами. Подскажите скрипт пожалуйста.

scuter 24.05.2008 14:24

надо подробить дату через функцию кажется она split называется,
потом вычесть из одного числа другое eval-ом.
вот и всё и у тебя получается возраст.

nameivan 24.05.2008 14:37

спасибо,
подскажите пожалуйста
var DTR = document.form1.textfield.value - получаем значение поля, а как применить метод split?

не силен я в js.

scuter 24.05.2008 14:58

ну примерно так.
var udate = document.getElementById('id').value;
  var ddate = document.getElementById('id').value;
  udate = udate.split('-');
  ddate = ddate.split('-');
  udate = udate[2];
  ddate = ddate[2];
  numer = eval(ddate+'-'+udate);

nameivan 24.05.2008 16:02

что то не срабатывает. результат NaN

Андрей Параничев 24.05.2008 16:17

Если бы у вас даты были в понятном для javascript формате можно было бы воспользоваться элегантным решением.
var date1 = '01/01/1988';
var date2 = '01/01/2008';
var date  = new Date();

date.setTime(Date.parse(date1));
var year1 = date.getFullYear();

date.setTime(Date.parse(date2));
var year2 = date.getFullYear();

var age = year2 - year1;
alert('Your age: '+ age);

nameivan 24.05.2008 16:25

понятный для js это через "/" ?

Андрей Параничев 24.05.2008 16:32

Получается, что да. Там написано, что Date.parse() может парсить даты в формате "12-11-2008", но на практике new Date() возвращает invalid Date.

nameivan 24.05.2008 17:06

понятно, спасибо всем кто помог в решении данного вопроса

vasa_c 24.05.2008 21:53

Цитата:

numer = eval(ddate+'-'+udate);
Неподражаемо!

Извините, что вмешался.


Часовой пояс GMT +3, время: 07:22.