4 Stimmen

Wie kann man die aktuellen Sekunden im aktuellen Monat ermitteln?

Ich versuche, die aktuelle Sekunde im aktuellen Monat zu berechnen, aber ich habe Schwierigkeiten, eine einfache Funktion zu erstellen, die dies tut.

Meine beste Vermutung ist, getTime() zu verwenden - die aktuellen Millisekunden seit dem 1. Januar 1970 - und dann X zu subtrahieren, wobei X die Anzahl der Millisekunden bis zum Ende des vorherigen Monats ist.

Können Sie mir helfen, einen besseren Weg zu finden, dies zu tun?

Herzlichen Dank für Ihre Hilfe.

Zum Wohl,

2voto

wombleton Punkte 8198
function() {
  var now = new Date().getTime(),
      monthStart = new Date();

  monthStart.setDate(1);
  monthStart.setHours(0);
  monthStart.setMinutes(0);
  monthStart.setSeconds(0);
  monthStart.setMilliseconds(0);
  return Math.floor((now - monthStart.getTime()) / 1000);
}

1voto

Pointy Punkte 387467

Sie können eine Date-Instanz erstellen und dann Methoden aufrufen, um alles auf 00:00:00 am ersten Tag des Monats zurückzusetzen. Dann subtrahieren Sie das von dem Zeitstempel "jetzt".

Die Methoden, die Sie aufrufen, sind setDate(1) um den Tag des Monats auf den Anfang des Monats zurückzusetzen, und dann setHours() , setMinutes() , setSeconds() und setMilliseconds() , die alle diese Nullen passieren.

Zeitstempel (Rückgabewerte von getTime() sind in Millisekunden angegeben, also teilen Sie die Differenz durch 1000, um die Sekunden in den Monat zu übertragen.

1voto

Mike Trpcic Punkte 24627

Sie können ein neues Datum erstellen, das auf den ersten Tag des Monats festgelegt ist, etwa so:

var start = Date.parse("2010-11-01");

Dann können Sie einen Termin für heute anlegen:

var today = Date.now();

Dann ziehst du sie einfach ab:

var seconds_in_month = today - start;

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