Как правильно сравнить время (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, время: 12:46. |