私の目標はスナップチャットのような機能を構築することです.24時間後に私が投稿するコンテンツは削除されます。私は現在の時間が過去24時間を過ぎているかどうかをチェックするAPIを作成したい、それが過去のものであればそれを削除し、作成された時間と現在の時間をチェックし、これらの2つの時間を比較する。時間差を確認する24時間後にモーメントを使用
私は瞬時にデータベースに日付/時刻を格納しています。私は今
11:31 PM 8 Jan 2017
は時間が今以上であると仮定したコンテンツを投稿する場合は、私のデータベース・コードは、例えば、この
var mongoose = require('mongoose');
var moment = require('moment');
var ItemPost = new Schema({
name: String,
created: { type: Date, default: moment() },
timeLeft: { type: Number, default: 24 },
});
のように見えることを言ってみましょう。たとえば、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;
}
は私が望む結果があれば、私の目標に近づくの私の本当の試みがうまく
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));
}
さて、このソリューションの作品です
console.log(checkTime(item)); // 1 or 1 hour
です私は減算する
時間があれば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"
私の目標は返すことです私のアルゴリズムのための悪い値としてa day
を返します
hoursMinus元の作成日付から1 hour left
または7 hours left
というデータどんな助けもありがとう。
が答えてくれてありがとう、私はすぐにそれをしようとします。 – sinusGob
@sinusGobすべてが問題ないかどうかを教えてください。問題が解決した場合は、回答を受け入れることを忘れないでください。 – VincenzoC
ありがとうございます! – sinusGob