Скрипт лет месяцев дней

Подсчитать, сколько прошло лет, месяцев, дней, часов, минут со дня, указанного в полях и до сегодняшнего

(вот код тот, что есть на данный момент. ссылки прошу не кидать, все равно не понимаю, что и как делать, повторюсь, не работал с JS вообще)
прошу помощи,/ т.к. сам уже не знаю, как организовать JS(не имел с ним дела)
в чем заключается задача:
на 1 окне сайта есть форма там 6 строк:
фамилия
имя
отчество
(дата рождения)
Число
Месяц
год
скрипт открывает маленькое окно с заголовком и 1 кнопкой закрытия, где
между заголовком и кнопкой выведены в 1 строку данные из первых трех полей 1 формы (ФИО)
во вторую строку выведены следующие 3 (ДДММГГГГ)
а в третьей строке подсчиталось, сколько прошло лет, месяцев, дней, часов, минут со дня, указанного в полях и до сегодняшнего

JavaScript — Скрипт сколько прошло лет, дней, часов, минут
Кто может посоветовать скрипт сколько прошло от нужной даты лет, дней, часов, минут с выводом в.

Программа должна писать сколько лет, месяцев, дней, часов, минут, секунд прожил человек
Программа должна писать сколько лет,месяцев,дней,часов,минут,секунд прожил человек Вводится только.

Посчитать сколько лет,месяцев и дней прошло от даты до сегодняшней
Вот так вывожу из БД дату по введенному УНН: AnsiString s=(Edit9->Text); Edit14->Text=s;.

Возврат кол-ва лет, месяцев, дней, часов, минут, секунд между датами
Нужно написать функцию которая возвращает в виде символьной строки количество лет, месяцев, дней.

Эксперт JS

если вы не знаете точного времени рождения, то часы и минуты зачем выводить?
для красоты?
давайте тогда ещё и секунды с миллисекундами выведем — ещё красивее будет, ведь так?

кроме того, вы свой код в браузере сами запускали?
ну и как, месяц у вас показывает 01 или всё же просто 1 ?

Эксперт JS

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
 html> head> meta charset="Windows-1251"> title>Кнопка отправки формыtitle> script language="JavaScript" type="text/JavaScript"> function hello() { var id; id=window.open("","example","width=400, height=150"); id.focus(); id.document.open(); id.document.write("

Вітаємо

"
); id.document.write("
"); var x = document.getElementsByName("username"); var i; for (i = 0; i x.length; i++) { id.document.write(x[i].value + " "); } var date = ''; for (i = 3; i >= 1; i--) { if (date) date += '.'; date += document.getElementsByName("num"+i)[0].value; } date = new Date(date); var delta = new Date(Date.now()-date.getTime()); var epoch = new Date(0); var diff_years = delta.getYear() - epoch.getYear(); var diff_month = delta.getMonth() - epoch.getMonth(); var diff_days = delta.getDate() - epoch.getDate(); var diff_hours = delta.getHours() - epoch.getHours(); var diff_minutes = delta.getMinutes() - epoch.getMinutes(); id.document.write("
"
); id.document.write(diff_years+' лет '+diff_month+' месяцев '+diff_days+' дней '+diff_hours+' часов '+diff_minutes+' минут '); id.document.write("
"
); id.document.write("
"
); id.document.write("button" value="Close window" onclick="window.close();"> "); id.document.close(); } script>
head> body> form method="post"> table> tr> td>Прізвище:td> td>input class="lol" type="text" name="username" >td> tr> tr> td>Ім'я:td> td>input type="text" name="username">td> tr> tr> td>По-батькові:td> td>input type="text" name="username">td> tr> table> p>Дата народження: p> table> tr> td>Число:td> td>input type="number" name="num1"size="30" min="1" max="31">td> tr> tr> td>Місяць:td> td>input type="number" name="num2"size="30" min="01" max="12" >td> tr> tr> td>Рік:td> td>input type="number" name="num3" size="30" min="1970" max="2016">td> tr> table> input type="button" onClick="hello();" value="Відправити"> form> body> html>

Источник

Date JS — Дата и время в JavaScript

Для работы с датой и временем в JavaScript существует встроенный объект Date , который содержит методы для создания, хранения, изменения или вывода элементов времени с точностью до миллисекунды. К таким элементам относят: год, месяц, день месяца, неделя, час, минута, секунда, миллисекунда, день недели.

Создать объект Date можно с помощью аргументов:

  • количество миллисекунд — new Date(value) ;
  • строка — new Date(dateString) ;
  • год, месяц, день, часы, минуты, секунды, миллисекунды;

Или пропустить аргументы вовсе.

new Date()

Создадим экземпляр объекта Date без дополнительных аргументов и выведем получившийся результат в console.

 let date = new Date(); console.log(date); // Thu Sep 01 2022 06:46:30 GMT+1200 (Фиджи) console.log(date.getFullYear()); // 2022 

Получим дату и время согласно часовому поясу, которое установлено на локальном компьютере.

Точно такую же информацию мы можем получить написав Date() без new .

 let date = Date(); console.log(date); console.log(date.getFullYear()); // получим ошибку 

Однако в этом случае мы получим строку, объект же Date может быть создан только путем вызова функции-конструктора, а следовательно с использованием оператора new . Встроенные методы, для работы с датой в JavaScript, со строкой работать не будут, кроме Date.parse() .

new Date(value)

Создать объект Date , можно передав в качестве аргумента количество миллисекунд.

 console.log(new Date(0)); // Thu Jan 01 1970 12:00:00 GMT+1200 (Фиджи) console.log(new Date(818079300000)); // Tue Dec 05 1995 00:15:00 GMT+1200 (Фиджи) console.log(new Date(-268065720000)); // Tue Jul 04 1961 21:18:00 GMT+1200 (Фиджи) 

Результат = 1 января 1970 года UTC+0 + количество миллисекунд.

Если указать миллисекунды со знаком минус, отсчет пойдет в обратную сторону. Таким образом все, что со знаком минус будет соответствовать дате до 1 января 1970 года.

getTime()

Количество миллисекунд прошедших с 1 января 1970 года по сегодняшний или заданный момент времени называется timestamp и может быть получено из new Date() с помощью метода getTime() .

 date = new Date(2019, 5); alert(date.getTime()); // количество миллисекунд прошедшие с 1 января 1970 года alert(new Date(date.getTime())) // получаем дату обратно 

Date.now()

Если необходимо получить количество миллисекунд прошедших с 1 января 1970 года по данный момент правильней будет использовать метод Date.now() .

 let date = Date.now(); alert(date); 

Запись эквивалента new Date().getTime() , но в отличие от этой конструкции Date.now() не создает промежуточный объект Date , что может быть особенно важно при разработке, где упор идет на быстродействие.

new Date(dateString)

Создать объект Date можно передав в качестве аргумента строку с датой и временем.

 date = new Date('2021-09-25T05:27:00'); alert(date); // Sun Sep 25 2022 05:27:00 GMT+1300 (Тонга) 

Дата должна быть записана в формате понятном методу Date.parse() , который преобразовывает строку в количество миллисекунд прошедших с 1 января 1970 года UTC+0. Если формат записи будет не верным, метод вернет NaN .

 date = new Date('2021-09-25T05:27:00'); alert(Date.parse(date)); 

new Date(year, month, date, hours, minutes, seconds, millisecond)

 new Date(1995, 11, 4, 3, 15, 10, 0); // Mon Dec 04 1995 03:15:10 GMT-0600 (Центральная Америка) 

Рассмотрим все возможные аргументы по порядку:

Обязательные аргументы

Год (year) — обязательный аргумент. Обычно записывается полностью — все четыре числа — 2022. Допустима, но не рекомендуется запись от 0 до 99. В этом случае год будет интерпретирован, как 1900 + заданное число.

Месяц (month) — обязательный аргумент и целое число от 0 до 11, где первое это январь, а последнее декабрь.

Необязательные аргументы

День (date) — необязательный аргумент обозначающий день месяца, если не задан, то по умолчанию принимает значение 1. Отсчет начинается с единицы.

Часы (hours) — от 1 до 24

Минуты (minutes) — от 1 до 60

Секунды (seconds) — от 1 до 60

Миллисекунды (millisecond) — от до 1000

Часы, минуты, секунды и миллисекунды — это целые числа, если аргумент не задан, то по умолчанию принимается значение 0.

Если при создании объекта Date в качестве аргумента задано число больше или меньше логического диапазона, программа автоматически переформатирует его в корректное, перенеся значение не соседнее. Если год 2010, а месяц 12 – это будет январь 2011. Если задать 10 часов 61 минуту – это будет 11 часов 1 минута. Если месяц апрель, а день 0 это 31 марта.

Методы для получения элементов даты

getFullYear()

 let date = new Date('1996-12-17T05:30:00'); date.getFullYear(); // 1996 

Метод позволяет получить год из объекта Date , если аргументов нет вернет текущий.

getMonth()

 let date = new Date('1996-12-17T05:30:00'); date.getMonth(); // 11 

Метод вернет месяц в формате от 0 до 11, если аргументов нет текущий.

getDate()

 let date = new Date('1996-12-17T05:30:00'); date.getDate(); // 17 

Метод возвращает день месяца указанного в объекте, если аргументов нет вернет текущую дату по местному времени.

getHours(), getMinutes(), getSeconds(), getMilliseconds()

 let date = new Date(1996, 11, 17, 21, 30, 10, 900); date.getHours(); // 21 или 9 часов вечера date.getMinutes(); // 30 минут date.getSeconds(); // 10 секунд date.getMilliseconds(); 900 миллисекунд 

Если аргумент отсутствует метод вернёт 0.

getTimezoneOffset()

Метод возвращает разницу в минутах между локальным временем и UTC.

 let date = new Date().getTimezoneOffset(); alert(date); // при UTC +3 покажет -180 

getDay()

 let date = new Date(1996, 11, 17); date.getDay(); // 2 

Метод возвращает день недели, отсчет начинается с 0 (воскресенье) и заканчивается 6-ю (суббота). В примере 1996 год 17 декабря и это вторник, следовательно результат 2.

Установка компонентов даты и времени

Для того, чтобы заменить или передать в объект Date отдельные компоненты времени используют следующие методы. В квадратных скобках необязательные элементы, которые при отсутствии игнорируются.

setFullYear(год, [месяц], [день месяца])

setMonth(месяц, [день месяца])

setHours(часы, [минуты], [секунды], [миллисекунды])

setMinutes(минуты, [секунды], [миллисекунды])

setTime() — устанавливает время в Date равным количеству миллисекунд прошедших с 1 января 1970 г. UTC.

При использовании методов результат возвращается в миллисекундах прошедших с 1 января 1970 г. по времени установленном на компьютере.

 let date = new Date(2019, 0); // Tue Jan 01 2019 00:00:00 GMT+0300 (Москва) date.setFullYear(2021); // 1609448400000 мс, что равно Fri Jan 01 2021 00:00:00 GMT+0300 (Москва) 

В примере мы передали в объект 2021 год, который и заменил 2019-ый.

UTC-варианты методов

Методы получения и передачи элементов для объекта Date работают согласно времени установленном на компьютере. Для того, чтобы в качестве результата получать дату относительно всемирного координированного времени (UTC) используют похожие методы, отличающиеся только вставкой UTC.

Получение элементов даты согласно UTC:

getUTCFullYear() , getUTCMonth() , getUTCDate() , getUTCHours() , getUTCMinutes() , getUTCSeconds() , getUTCMilliseconds() , getUTCDay()

Установка компонентов даты и времени согласно UTC:

setUTCFullYear() , setUTCMonth() , setUTCDate() , setUTCHours() , setUTCMinutes() , setUTCSeconds() , setUTCMilliseconds()

Преобразование объекта Date к строке

Для того, чтобы получить из Date нужные элементы даты и времени в формате строки используют следующие методы:

toTimeString() — только время

toDateString() — только дата

toUTCString() — дата и время в формате UTC

toISOString() — дата и время в формате ISO

toLocaleTimeString() — только время в локальном формате

toLocaleString() — дата и время в локальном формате

 let date = new Date(2018, 4, 19, 2, 34, 10); date.toString(); // Sat May 19 2018 02:34:10 GMT+0300 (Москва) date.toTimeString(); // 02:34:10 GMT+0300 (Москва) date.toDateString(); // Sat May 19 2018 date.toUTCString(); // Fri, 18 May 2018 23:34:10 GMT date.toISOString(); // 2018-05-18T23:34:10.000Z date.toLocaleTimeString(); // 02:34:10 date.toLocaleString(); // 19.05.2018, 02:34:10 

Итого

1. Объект Date может быть создан без аргументов или с аргументами. В первом случае получим текущую временную метку, во втором задаем нужный отрезок времени с помощью миллисекунд, строки с датой или аргументов (год, месяц, день, часы, минуты, секунды, миллисекунды).

2. Для получения отдельных элементов Date используют методы — getFullYear() , getMonth() , getDate() , getHours() , getMinutes() , getSeconds() , getMilliseconds() , getDay() .

3. Для того, чтобы установить новые компоненты даты и времени используют: setFullYear() , setMonth() , setDate() , setHours() , setMinutes() , setSeconds() , setMilliseconds() , setTime() .

4. Для получения даты в нужном формате в виде строки используют: toString() , toTimeString() , toDateString() , toUTCString() , toISOString() , toLocaleTimeString() , toLocaleString() .

5. При создании Date в независимости какие аргументы и в каком формате передаются, создается объект со всеми элементами времени.

6. Если передать в Date аргументы времени некорректного формата (целые числа), дата будет корректироваться переносом значения на соседнее.

Skypro — научим с нуля

Источник

Читайте также:  Маникюр идеи дизайна лето
Оцените статью