Moment js erhalten den ersten und letzten Tag des aktuellen Monats

Lesezeit: 4 Minuten

Benutzer-Avatar
Benutzer3574492

Wie erhalte ich den ersten und letzten Tag und die Uhrzeit des aktuellen Monats im folgenden Format in moment.js:

01.09.2016 00:00

Ich kann das aktuelle Datum und die Uhrzeit wie folgt abrufen:
moment().format('YYYY-MM-DD h:m') die im obigen Format ausgegeben wird.

Ich muss jedoch das Datum und die Uhrzeit des ersten und letzten Tages des aktuellen Monats abrufen. Gibt es eine Möglichkeit, dies zu tun?

BEARBEITEN:
Meine Frage unterscheidet sich von dieser, da sie nach einem bestimmten Monat fragt, den der Benutzer bereits hat, während ich nach dem frage aktuell Monat zusammen mit der Frage nach einem bestimmten Format des Datums, das in dem anderen sogenannten “Duplikat” nicht erwähnt wird.

  • Mögliches Duplikat von Moment JS Beginn und Ende des angegebenen Monats

    – Audite Marlow

    1. September 2016 um 9:23 Uhr

  • Moment.js unterstützt die Funktion zum Abrufen des ersten und letzten Tages des Monats. Sie können dies für den aktuellen Monat abrufen durch: moment().startOf(‘month’) und moment().endOf(‘month’) . Ich denke, Sie sollten die Antwort daraus sehen

    – Tan Le

    1. September 2016 um 9:30 Uhr


  • @TanLe Ja, aber dies wird im folgenden Format ausgegeben: Thu Sep 01 2016 00:00:00 GMT+0100 (GMT Summer Time) Ich möchte das Format, wie ich es in meiner Frage erwähnt habe

    – Benutzer3574492

    1. September 2016 um 9:35 Uhr

  • Diese Funktion gibt das Momentobjekt für den Tag zurück, sodass Sie das Format verwenden können, um es in jedem gewünschten Format auszugeben. Wie: moment().startOf(‘month’).format(‘YYYY-MM-DD HH:mm’).

    – Tan Le

    1. September 2016 um 9:39 Uhr


  • @AuditeMarlow Netter Versuch, aber die Fragen sind etwas anders, als in meiner Bearbeitung erklärt.

    – Benutzer3574492

    1. September 2016 um 9:46 Uhr

Benutzer-Avatar
Ali

Falls jemand die Kommentare zur ursprünglichen Frage verpasst hat, können Sie integrierte Methoden verwenden (funktioniert ab Moment 1.7):

const startOfMonth = moment().startOf('month').format('YYYY-MM-DD hh:mm');
const endOfMonth   = moment().endOf('month').format('YYYY-MM-DD hh:mm');

  • Ich weiß nicht, warum jemand die ursprünglichen Kommentare gelöscht hat, aber der Grund, warum dies nicht die akzeptierte Antwort war, war, dass es viele Monate nach der akzeptierten Antwort gepostet wurde.

    – Benutzer3574492

    17. Mai 2018 um 8:32 Uhr

  • danke @ user3574492 keine große Sache, danke für die Klarstellung – wenn Sie denken, dass diese Antwort die beste ist, dann denke ich, dass es möglich ist, sie in die akzeptierte Antwort zu ändern, auch wenn sie später gepostet wurde.

    – Ali

    18. Mai 2018 um 0:28 Uhr


  • moment(1, "DD"); gibt den ersten Tag des aktuellen Monats zurück

    – Anil Vangari

    4. März 2019 um 17:02 Uhr

  • warum wir brauchen clone hier ?

    – thelonglqd

    12. Mai 2021 um 2:43 Uhr

  • .Clone() wird benötigt, da viele Funktionen das Momentdatum ändern. Ein Beispiel ist x = momentDate.add(1,”day”); momentDate wird hier geändert, indem ein Tag hinzugefügt und x gesetzt wird. StartOf Month setzt den Zeitpunkt auf den Monatsanfang.

    – meh93

    9. September 2021 um 20:34 Uhr

Benutzer-Avatar
Akoya

Es gäbe eine andere Möglichkeit, dies zu tun:

var begin = moment().format("YYYY-MM-01");
var end = moment().format("YYYY-MM-") + moment().daysInMonth();

Benutzer-Avatar
Kevin Grosgojat

Sie können dies ohne moment.js tun

Eine Möglichkeit, dies in nativem Javascript-Code zu tun:

var date = new Date(), y = date.getFullYear(), m = date.getMonth();
var firstDay = new Date(y, m, 1);
var lastDay = new Date(y, m + 1, 0);

firstDay = moment(firstDay).format(yourFormat);
lastDay = moment(lastDay).format(yourFormat);

  • Dies wird im Standard-Datumsformat ausgegeben Thu Sep 01 2016 00:00:00 GMT+0100 (GMT Summer Time) nicht im gewünschten Format: 2016-09-01 00:00

    – Benutzer3574492

    1. September 2016 um 9:32 Uhr


  • Verwenden Sie moment, um das Datum zu formatieren … firstDay = moment(firstDay).format(‘MM/DD/YYYY’); lastDay = moment(lastDay).format(‘MM/DD/YYYY’);

    – Kevin Grosgojat

    1. September 2016 um 9:38 Uhr

  • und wie man kommt startdate und enddate des nächsten Monats mit dieser Formel?

    – Alka-Vaghela

    5. Mai 2017 um 10:16 Uhr

Moment Start von() und Ende des() ist die Antwort, nach der Sie suchen. Beispiel:-

moment().startOf('year');    // set to January 1st, 12:00 am this year
moment().startOf('month');   // set to the first of this month, 12:00 am
moment().startOf('week');    // set to the first day of this week, 12:00 am
moment().startOf('day');     // set to 12:00 am today

Angenommen, Sie verwenden eine Datumsbereichsauswahl, um die Daten abzurufen. Sie könnten etwas tun, um zu bekommen, was Sie wollen.

$('#daterange-btn').daterangepicker({
            ranges: {
                'Today': [moment(), moment()],
                'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
                'Last 7 Days': [moment().subtract(6, 'days'), moment()],
                'Last 30 Days': [moment().subtract(29, 'days'), moment()],
                'This Month': [moment().startOf('month'), moment().endOf('month')],
                'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
            },
            startDate: moment().subtract(29, 'days'),
            endDate: moment()
        }, function (start, end) {
      alert( 'Date is between' + start.format('YYYY-MM-DD h:m') + 'and' + end.format('YYYY-MM-DD h:m')}

Benutzer-Avatar
Mo.

So einfach wir können TageImMonat() und Ende des()

const firstDay = moment('2016-09-15 00:00', 'YYYY-MM-DD h:m').startOf('month').format('D')
const lastDay = moment('2016-09-15 00:00', 'YYYY-MM-DD h:m').endOf('month').format('D')

Benutzer-Avatar
Dharman

Ich bin auf einige Probleme gestoßen, weil ich das nicht wusste moment().endOf() verändert das Eingabedatum, also habe ich diese Arbeit umgangen.

let thisMoment = moment();
let endOfMonth = moment(thisMoment).endOf('month');
let startOfMonth = moment(thisMoment).startOf('month');

  • Verwenden Sie immer moment().clone(), wenn Sie dieselben Variablen verwenden möchten.

    – Shubham Nagota

    25. Mai 2021 um 4:15 Uhr

1305570cookie-checkMoment js erhalten den ersten und letzten Tag des aktuellen Monats

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy