Узнайте, как найти разницу между двумя датами в JavaScript.
Мы узнаем о нахождении Number of Seconds
, Number of Minutes
, Number of hours
, Number of days
, Number of weeks
, Number of months
, Number of years
между двумя датами.
Создадим две даты
let d1 = Date.now(); let d2 = new Date(2019,5,22).getTime(); //Jun 22 2019 in millisecond console.log(d1); //1573527098946 console.log(d2); //1561141800000
Количество секунд между двумя датами.
1 second = 1000 milliseconds
Теперь у нас есть две даты d1
и d2
в миллисекундах. Чтобы преобразовать milliseconds
в seconds
, мы можем разделить разницу между двумя датами в milliseconds
на 1000
.
function secondsDiff(d1, d2) { let millisecondDiff = d2 - d1; let secDiff = Math.floor( ( d2 - d1) / 1000 ); return secDiff; }
Количество минут между двумя датами.
1 minutes = 60 seconds
Теперь у нас есть метод, чтобы найти количество seconds
между двумя датами, поэтому мы можем найти seconds
различие, а затем разделить это на 60
и получить количество minutes
между двумя датами.
function minutesDiff(d1, d2) { let seconds = secondsDiff(d1, d2); let minutesDiff = Math.floor( seconds / 60 ); return minutesDiff; }
Количество часов между двумя датами.
1 hour = 60 minutes
Теперь у нас есть метод, чтобы найти количество minutes
между двумя датами, поэтому мы можем найти minutes
различие, а затем разделить это на 60
и получить количество hours
между двумя датами.
function hoursDiff(d1, d2) { let minutes = minutesDiff(d1, d2); let hoursDiff = Math.floor( minutes / 60 ); return hoursDiff; }
Количество дней между двумя датами.
1 day = 24 hours
Теперь у нас есть метод, чтобы найти количество hours
между двумя датами, чтобы мы могли найти разницу, а затем разделить это на 24
, и мы получим number of days
между двумя датами.
function daysDiff(d1, d2) { let hours = hoursDiff(d1, d2); let daysDiff = Math.floor( hours / 24 ); return daysDiff; }
Количество недель между двумя свиданиями.
1 week = 7 days
Теперь у нас есть метод, чтобы найти количество days
между двумя датами, чтобы мы могли найти разницу, а затем разделив это на 7
, мы получим number of weeks
между двумя датами.
function weeksDiff(d1, d2) { let days = daysDiff(d1, d2); let weeksDiff = Math.floor( days/ 7 ); return weeksDiff; }
Количество лет между двумя датами.
Чтобы найти количество лет между двумя датами, у нас есть встроенный метод getFullYear
. Вычтите date2
год на date1
год, мы получим yearsDiff
.
function yearsDiff(d1, d2) { let date1 = new Date(d1); let date2 = new Date(d2); let yearsDiff = date2.getFullYear() - date1.getFullYear(); return yearsDiff; }
Количество месяцев между двумя датами.
1 month != 30 days Number of days in month is not same in all months , so we need to do it differently
Шаги:
- Сначала нам нужно найти количество лет между двумя датами.
- Умножьте количество лет между двумя датами на 12 (потому что на каждый год 12 месяцев).
Subtract
номер месяца (июнь → 5) изsecond date
с номером месяцаfirst date
Определение количества месяцев между двумя датами
function monthsDiff(d1, d2) { let date1 = new Date(d1); let date2 = new Date(d2); let years = yearsDiff(d1, d2); let months =(years * 12) + (date2.getMonth() - date1.getMonth()) ; return months; }
Спасибо за чтение 📖. Надеюсь, тебе это понравится. Если вы обнаружили опечатку или ошибку, отправьте мне личное сообщение 📝 спасибо 🙏 😊.
Следуй за мной JavaScript Jeep🚙💨.
Сделайте пожертвование здесь. 80% вашего пожертвования передается тому, кому нужна еда 🥘. Заранее благодарим.