Счетчик времени от указанной даты до текущей
<h3>Мы с Вами:</h3>
//нужно вывести данные в таком вот виде
<p>12 лет ___ 3 месяца ___ 5 дней ___ 21 час ___ 15 минут ___ 25 секунд</p>
Везде есть счетчики обратного отсчета только. Пока такой на JavaScript не нашел. Как такой написать?
Ответы (2 шт):
Автор решения: Mr. Man
→ Ссылка
Я бы сделал так:
const creationDateObj = {
year: 2010,
month: 2,
day: 29,
hours: 0,
minutes: 0,
seconds: 0
};
const creationDate = new Date(
creationDateObj.year,
creationDateObj.month,
creationDateObj.day,
creationDateObj.hours,
creationDateObj.minutes,
creationDateObj.seconds
);
const timeLeft = document.querySelector('#timeLeft');
setInterval(() => {
const now = new Date();
const diffInMS = now - creationDate;
const diffAsDate = new Date(diffInMS);
const [
years,
months,
days,
hours,
minutes,
seconds
] = diffAsDate
.toISOString()
.split('T')
.map(timePart =>
timePart
.split(/-|:|\./)
.map(str => +str)
)
.flat();
timeLeft.textContent = `${years - 1970} лет ___ ${months - 1} месяца ___ ${days - 1} дней ___ ${hours} час ___ ${minutes} минут ___ ${seconds} секунд`;
}, 1000);
body {
background-color: #777
}
<h3>Мы с Вами:</h3>
<p id="timeLeft"></p>