Вычисление возраста
У меня есть одностраничный сайт. Там есть блок с БИО, где указан мой возраст. Мне нужен такой скрипт, в котором я укажу дату своего рождения, а скрипт будет мне выводит мой текущий возраст. Как такое сделать? :help:
|
Чтобы получить количество лет на основе только года:
var get_current_age = function(date) { return new Date().getFullYear() - date; }; alert(get_current_age(1986)); |
/** * @param {Date|Number} birthDate * * @returns {Number} */ function birthDateToAge(birthDate) { birthDate = new Date(birthDate); var now = new Date(), age = now.getFullYear() - birthDate.getFullYear(); return now.setFullYear(1972) < birthDate.setFullYear(1972) ? age - 1 : age; } |
На основе полной даты:
function get_current_age(date) { return ((new Date().getTime() - new Date(date)) / (24 * 3600 * 365.25 * 1000)) | 0; } alert(get_current_age('1986-09-18')); |
<script> var birth = new Date(1990, 3 - 1, 16); //дата рождения var year = birth.getFullYear(); var today = new Date(); document.write( today.getFullYear() - year - (today.getTime() < birth.setFullYear(year)) ) </script> Дата рождения указывается в следующем порядке: год, месяц, день, час, минута, секунда, милисекунда. Всё кроме года можно пр желании опустить. Месяц отсчитывается с нуля (0-11). Цитата:
|
birth.setFullYear(year)
если birth будет 29 февраля, а year не высокосным? |
Цитата:
|
Цитата:
Цитата:
Для вывода в нужном месте страницы добавьте: <script>document.write( birthDateToAge(new Date(1990, 3 - 1, 16)) )</script>Если нужен вывод конкретно из скрипта - выводите также как и всё остальное, что вы выводите из скрипта: мы не знаем что у вас там и как. |
А 3 - 1 что значит? Точнее зачем 1 отнимаем?
|
Aetae,
хотя у тебя вообще не верно написано, смотри, ты birth устанавливаешь год, который от него же и взят, нужно брать год от todey, а так как возможна ситуация с 29 февраля, нужно вообще обоим датам любой высокосный год присваивать. |
Часовой пояс GMT +3, время: 04:39. |