formatCalendarDate = function (dateTime) {
return moment.utc(dateTime).format('LLL');
};
Es zeigt: "28 Februar 2013 09:24"
Aber ich möchte die Zeit am Ende wegnehmen. Wie kann ich das machen?
Ich benutze Moment.js .
Tut mir leid, so spät hineinzuspringen, aber wenn Sie entfernen den Zeitabschnitt eines Moments () anstelle von Formatierung wollen, dann lautet der Code:
.startOf('day')
format('LL')
Abhängig davon, was Sie damit zu tun versuchen, könnte format('LL')
den Trick tun. Es produziert so etwas:
Moment().format('LL'); // => April 29, 2016
Der richtige Weg wäre, die Eingabe gemäß Ihrer Anforderung festzulegen, wodurch Sie mehr Flexibilität erhalten.
Die vorliegende Definition umfasst Folgendes
LTS : 'h:mm:ss A',
LT : 'h:mm A',
L : 'MM/DD/YYYY',
LL : 'MMMM D, YYYY',
LLL : 'MMMM D, YYYY h:mm A',
LLLL : 'dddd, MMMM D, YYYY h:mm A'
Sie können eine dieser Optionen verwenden oder die übergebene Eingabe in moment (). Format () ..__ ändern. Für Ihren Fall können Sie beispielsweise moment.utc(dateTime).format('MMMM D, YYYY')
übergeben.
formatCalendarDate = function (dateTime) {
return moment.utc(dateTime).format('LL')
}
Mit neueren Versionen von moment.js können Sie auch Folgendes tun:
var dateTime = moment();
var dateValue = moment({
year: dateTime.year(),
month: dateTime.month(),
day: dateTime.date()
});
Sie können auch dieses Format verwenden:
moment().format('ddd, ll'); // Wed, Jan 4, 2017
Sie können diesen Konstruktor verwenden
moment({h:0, m:0, s:0, ms:0})
http://momentjs.com/docs/#/parsing/object/
console.log( moment().format('YYYY-MM-DD HH:mm:ss') )
console.log( moment({h:0, m:0, s:0, ms:0}).format('YYYY-MM-DD HH:mm:ss') )
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
Wann immer ich die moment.js
-Bibliothek verwende, lege ich das gewünschte Format folgendermaßen fest:
moment(<your Date goes here>).format("DD-MMM-YYYY")
oder
moment(<your Date goes here>).format("DD/MMM/YYYY")
... usw. Ich hoffe, Sie bekommen die Idee
In die Formatierungsfunktion legen Sie das gewünschte Format ein. Das obige Beispiel entfernt alle unerwünschten Elemente ab dem Datum wie Minuten und Sekunden
Versuche dies:
moment.format().split("T")[0]
Für Leute wie ich möchte das lange Datumsformat (LLLL
), aber ohne Tageszeit gibt es dafür ein GitHub-Problem: https://github.com/moment/moment/issues/2505 . Im Moment gibt es eine Problemumgehung:
var localeData = moment.localeData( moment.locale() ),
llll = localeData.longDateFormat( 'llll' ),
lll = localeData.longDateFormat( 'lll' ),
ll = localeData.longDateFormat( 'll' ),
longDateFormat = llll.replace( lll.replace( ll, '' ), '' );
var formattedDate = myMoment.format(longDateFormat);