Yanıtlar:
Çok geç atladığım için üzgünüm, ancak biçimlendirmek yerine zaman bölümünü kaldırmak istiyorsanız , kod şöyledir:moment()
.startOf('day')
startOf('day')
ardından başlangıcıydı, önceki gün. Düzeltildimoment(moment.utc('2013-10-29T00:00:00+00:00').startOf('day').format('LL')).startOf('day').toDate()
.startOf('day')
zaman bölümünü kendiliğinden kaldırmaz, sadece zamanı 00:00:00 olarak ayarlar. Yani, evet, 'collin' tarafından yorumlandığı gibi, tarih kaydederken dikkatli olmalısınız. format('LL')
Bu iş parçacığında yanıtlandığı gibi daha iyi bir alternatif kullanıyor .
someMoment.clone().startOf('day')
veya düğmesini kullanın moment(someMoment).startOf('day')
.
moment().utc().add(1,'d').startOf('day')
nesneyi bugün sıfırlayacak.
format('LL')
Onunla ne yapmaya çalıştığınıza bağlı olarak format('LL')
, hile yapabilir. Bunun gibi bir şey üretir:
Moment().format('LL'); // => April 29, 2016
Doğru yol, girişi size daha fazla esneklik sağlayacak gereksiniminize göre belirtmek olacaktır.
Mevcut tanım aşağıdakileri içerir
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'
Bunlardan herhangi birini kullanabilir veya moment (). Biçimine () geçirilen girişi değiştirebilirsiniz. Örneğin, davanız için geçebilirsiniz moment.utc(dateTime).format('MMMM D, YYYY')
.
Bu biçimi de kullanabilirsiniz:
moment().format('ddd, ll'); // Wed, Jan 4, 2017
Moment.js'nin daha yeni sürümleriyle bunu da yapabilirsiniz:
var dateTime = moment();
var dateValue = moment({
year: dateTime.year(),
month: dateTime.month(),
day: dateTime.date()
});
date: dateTime.date()
Bunun yerine olmaz day: dateTime.date()
mı?
day
2.8.4 öncesi çalışır.
Tamam, biliyorum partiye çok geç kaldım. 6 yıl gibi ama bu anlamaya ve YYYY-AA-GG'yi biçimlendirmem gereken bir şeydi.
moment().format(moment.HTML5_FMT.DATE); // 2019-11-08
Ayrıca, gibi bir parametreyi de iletebilirsiniz 2019-11-08T17:44:56.144
.
moment("2019-11-08T17:44:56.144").format(moment.HTML5_FMT.DATE); // 2019-11-08
moment.js
Kütüphaneyi her kullandığımda istenilen biçimi bu şekilde belirtirim:
moment(<your Date goes here>).format("DD-MMM-YYYY")
veya
moment(<your Date goes here>).format("DD/MMM/YYYY")
... vb umarım fikir alırsın
Biçim işlevinin içine istediğiniz biçimi koyarsınız. Yukarıdaki örnek, dakika ve saniye gibi tarihten itibaren istenmeyen tüm öğelerden kurtulur.
L
, LL
vs.)
Benim gibi insanlar için uzun tarih biçimini ( LLLL
) istiyorlar, ancak günün saati olmadan, bunun için bir GitHub sorunu var: https://github.com/moment/moment/issues/2505 . Şimdilik bir çözüm var:
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);
Bu yapıcıyı kullanabilirsiniz
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})
bana bugün değil, 1 Ocak 1970'i vereceğini tahmin ederdim.
moment({ h: 0 })
.
Omitted units default to 0 or the current date, month, and year.
Bunu dene:
moment.format().split("T")[0]
1993-06-07T22:00:00.000Z
olarak sonuçlanacaktır 1993-06-07
o günün başlangıcıdır oysa1993-06-08