formatCalendarDate = function (dateTime) {
return moment.utc(dateTime).format('LLL');
};
Es zeigt an: "28 februari 2013 09:24"
Aber ich möchte die Zeit am Ende entfernen. Wie kann ich das machen?
Ich benutze Moment.js .
formatCalendarDate = function (dateTime) {
return moment.utc(dateTime).format('LLL');
};
Es zeigt an: "28 februari 2013 09:24"
Aber ich möchte die Zeit am Ende entfernen. Wie kann ich das machen?
Ich benutze Moment.js .
Antworten:
Es tut uns leid, dass Sie so spät einspringen müssen, aber wenn Sie den Zeitteil von a entfernen möchten, moment()
anstatt ihn zu formatieren , lautet der Code:
.startOf('day')
startOf('day')
. Dies war dann der Beginn des vorherigen Tages. moment(moment.utc('2013-10-29T00:00:00+00:00').startOf('day').format('LL')).startOf('day').toDate()
.startOf('day')
Entfernt den Zeitteil nicht per se, sondern setzt die Zeit nur auf 00:00:00. Also, ja, wie von 'collin' kommentiert, müssen Sie beim Speichern des Datums vorsichtig sein. Bessere Alternative ist die Verwendung format('LL')
, wie in diesem Thread beantwortet wurde.
someMoment.clone().startOf('day')
oder, um eine Mutation des Originalobjekts zu vermeiden moment(someMoment).startOf('day')
.
moment().utc().add(1,'d').startOf('day')
wird das Objekt auf heute zurücksetzen.
format('LL')
Je nachdem, was Sie damit machen wollen, format('LL')
könnte dies der Trick sein. Es produziert so etwas:
Moment().format('LL'); // => April 29, 2016
Der richtige Weg wäre, die Eingabe gemäß Ihren Anforderungen anzugeben, um mehr Flexibilität zu 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 Eingabe ändern, die in moment (). Format () übergeben wird. Zum Beispiel können Sie für Ihren Fall bestehen moment.utc(dateTime).format('MMMM D, YYYY')
.
Sie können auch dieses Format verwenden:
moment().format('ddd, ll'); // Wed, Jan 4, 2017
Mit neueren Versionen von moment.js können Sie dies auch tun:
var dateTime = moment();
var dateValue = moment({
year: dateTime.year(),
month: dateTime.month(),
day: dateTime.date()
});
date: dateTime.date()
stattdessen day: dateTime.date()
?
day
funktioniert vor Version 2.8.4.
Okay, ich weiß, dass ich viel zu spät zur Party komme. Wie 6 Jahre zu spät, aber das war etwas, was ich herausfinden und formatieren musste JJJJ-MM-TT.
moment().format(moment.HTML5_FMT.DATE); // 2019-11-08
Sie können auch einen Parameter wie , 2019-11-08T17:44:56.144
.
moment("2019-11-08T17:44:56.144").format(moment.HTML5_FMT.DATE); // 2019-11-08
Wann immer ich die moment.js
Bibliothek benutze, gebe ich das gewünschte Format folgendermaßen an:
moment(<your Date goes here>).format("DD-MMM-YYYY")
oder
moment(<your Date goes here>).format("DD/MMM/YYYY")
... usw. Ich hoffe du kommst auf die Idee
Innerhalb der Formatierungsfunktion geben Sie das gewünschte Format ein. Im obigen Beispiel werden alle unerwünschten Elemente ab dem Datum wie Minuten und Sekunden entfernt
L
, LL
usw.)
Für Leute wie mich, die das lange Datumsformat ( LLLL
) wollen, 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);
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>
moment({h:0, m:0, s:0, ms:0})
hätte, dass ich den 1. Januar 1970 und nicht heute erhalten hätte.
moment({ h: 0 })
auch so aus.
Omitted units default to 0 or the current date, month, and year.
Versuche dies:
moment.format().split("T")[0]
1993-06-07T22:00:00.000Z
Folge wird , wie 1993-06-07
während es der Beginn des Tages der ist1993-06-08