Моя цель - создать такую функцию, как snapchat, через 24 часа содержимое, которое я опубликую, будет удалено. Я хочу создать API, который будет проверять, прошло ли текущее время за 24 часа или нет, если прошло, то он удалит его, он проверит созданное время и текущее время, и он будет сравнивать эти два времени.Проверка разницы во времени через 24 часа с использованием моментов
Я использую момент для хранения дат/времени в базе данных. Пусть говорят, что мой код базы данных выглядит следующим образом
var mongoose = require('mongoose');
var moment = require('moment');
var ItemPost = new Schema({
name: String,
created: { type: Date, default: moment() },
timeLeft: { type: Number, default: 24 },
});
К примеру, если я отправляю содержание прямо сейчас
11:31 PM 8 Jan 2017
Предположим, что время прямо сейчас выше. Пусть говорят, 9 часов прошли, и текущее время
08:31 PM 9 Jan 2017
Как бы я получить разницу во время 24 часов с даты формирования?
Моя попытка
function checkTime(item) {
var currentTime = moment();
// assume item is an ItemPost object from the database
var timeStore = item.created()
// Im stuck here, I tried various codes. But nothing has worked so Far.
return data;
}
Результат, который я хочу
console.log(checkTime(item)); // 1 or 1 hour
Моя реальная попытка приближаемся к цели является
function test0() {
var currentTime = moment();
var timeStored = moment().subtract(7, 'hours');
var hoursMinus = timeStored.fromNow(currentTime);
console.log(hoursMinus); // 7 hours - it is a string
timeDiff = hoursMinus.substr(0, hoursMinus.indexOf(' ')); // will get just 7
var timeLeft = 24; // Default data from database
console.log(timeLeft - parseInt(timeDiff));
}
Ну это решение работает хорошо, если I вычесть
var timeStored = moment().subtract(7, 'hours');
Но это не будет работать, если время больше или равно 23
var timeStored = moment().subtract(23, 'hours');
var hoursMinus = timeStored.fromNow(currentTime);
console.log(hoursMinus); // Will return "a day"
hoursMinus будет возвращать a day
как значение, которое плохо для моего алгоритма
Моя цель состоит в том, чтобы вернуться данные, которые сообщают 1 hour left
или 7 hours left
с оригинальной созданной датой. Любая помощь будет оценена по достоинству.
Спасибо за ответ, я буду стараться его немедленно. – sinusGob
@sinusGob сообщите мне, если все в порядке и не забудьте принять ответ, если он решит вашу проблему. – VincenzoC
Спасибо, что работает !! – sinusGob