536 Stimmen

Moment-js Datum Zeit Vergleich

Ich verwende moment.js, um mein Datum und Uhrzeit zu formatieren. Hier habe ich zwei Datumsangaben, und ich möchte eine bestimmte Funktion erreichen, wenn ein Datum größer ist als das andere. Ich habe die meisten ihrer Dokumente gelesen, aber die Funktion zum Erreichen dieses Ziels nicht gefunden. Ich weiß, sie wird da sein.

Dies ist mein Code:

var date_time = 2013-03-24 + 'T' + 10:15:20:12 + 'Z'
var d = moment(date_time).tz('UTC'); // erstes Datum

var now = new Date(),
    dnow = moment(now).tz('UTC'),
    snow = dnow.minute() % 15,
    diffnow = 15 - snow,
    tonow = moment(dnow).add('minute', diffnow),
    ahead30now = moment(tonow).add('minute', 30);

if (d > ahead30now) {
    // Eingabezeit erlauben
    console.log('UTC-Zeit DB', d.format());
} else {

}

Bearbeiten

var date_time = req.body.date + 'T' + req.body.time + req.body.timezone; // 2014-03-24T01:15:000
var utc_input_time = moment(date_time).utc(); // 2014-03-24T01:15:000
console.log('UTC konvertiertes date_time', moment(date_time).utc().format("YYYY-MM-DDTHH:mm:SSS"));
var isafter = moment(utc_input_time).isAfter(moment('2014-03-24T01:14:000')); // true
if(isafter === true){
    console.log('ist nach true');
} else {
    console.log('ist nach ist falsch');
}

Hier vergleiche ich zwei Daten, d.h. 2014-03-24T01:15:000 > 2014-03-24T01:14:000, in der Erwartung, dass das erste größer ist als das zweite, aber es geht immer zur else-Bedingung. Ich weiß nicht warum?

14voto

TV-C-1-5 Punkte 677
moment(d).isAfter(ahead30now); // true

http://momentjs.com/docs/#/query/is-after/

if (moment(d).isAfter(ahead30now)) {
    // allow input time
    console.log('UTC TIME DB', d.format());
} else {

}

10voto

isaac Punkte 101
var startDate = moment(startDateVal, "DD.MM.YYYY");//Datumsformat
var endDate = moment(endDateVal, "DD.MM.YYYY");

var isAfter = moment(startDate).isAfter(endDate);

if (isAfter) {
    window.showErrorMessage("Fehlermeldung");
    $(elements.endDate).focus();
    return false;
}

7voto

vijay kumar Punkte 937

Geben Sie das Datum an moment weiter, dann vergleicht es und gibt das Ergebnis zurück. wenn Sie das Format nicht möchten, entfernen Sie es

moment(Date1).format("YYYY-MM-DD") > moment(Date2).format("YYYY-MM-DD")

0voto

sweetnandha cse Punkte 349
  • Überprüfen Sie mit Moment.js, ob zwei Daten gleich sind oder nicht.
  • Ich habe granularity => 'D' verwendet, um nur das Datum ohne Zeit zu überprüfen.

Dieser Befehl funktioniert gut für mich.

moment(date1).isSame(moment(date2), 'D')

-1voto

talha tariq Punkte 27

Sagen Sie, wenn Sie vergangene Daten im Datumsauswahl deaktivieren möchten, wird Ihnen der folgende Code sicherlich helfen disabledDate={(current) => { return ( current && current.format("YYYY-MM-DD") < moment().format("YYYY-MM-DD") ); }}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X