Как правильно сравнить время (native javascript)?
Здравствуйте. Подскажите, пожалуйста, как правильно решить следующую задачу:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="./styles.css"> </head> <body> <div class="app" data-component="app"> app </div> <script src="./main.js"></script> </body> </html> class Main { constructor(el) { this.el = el; this.startDate = ''; this.currentDate = ''; this.init(); } init() { if (this.el) { this.el.addEventListener('click', this.onClickPrimaryEl); } } onClickPrimaryEl = () => { if (this.startDate === '' || this.startDate ) { // Если прошло больше 15 минут с текущего момента вызова функции this.startDate = new Date(); console.log('true'); } else { // Если прошло меньше 15 минут с текущего момента вызова функции console.log('false'); } } } const main = new Main(document.querySelector('[data-component="app"]')); |
https://learn.javascript.ru/datetime
Цитата:
|
Я попробовал следующим образом реализовать данную задачу, но очевидно, что когда минут будет больше 60, такая логика уже работать не будет:
onClickPrimaryEl = () => { this.startDate = new Date(); this.currentDate = new Date(); this.currentTime = this.startDate.getMinutes(); if (this.startTime === '' || this.currentTime === this.d) { // Если прошло больше 15 минут с текущего вызова функции this.startTime = this.startDate.getMinutes(); this.d = this.startTime + this.interval; console.log('true'); } else { // Если прошло меньше 15 минут с текущего вызова функции console.log('false'); } console.log(this.startTime); console.log(this.currentTime); console.log(this.d); } |
s24344, вам выше цитату привели, перечитайте её еще раз, в ней ответ кроется.
Объект Date можно привести к unix time и уже с ним работать. |
Поддерживаю, сравнивайте примитивы, проблем будет меньше
|
Часовой пояс GMT +3, время: 00:15. |