formatCalendarDate = function (dateTime) {
return moment.utc(dateTime).format('LLL');
};
Nó hiển thị: "28 februari 2013 09:24"
Nhưng tôi muốn loại bỏ thời gian ở cuối. Làm thế nào tôi có thể làm điều đó?
Tôi đang sử dụng Moment.js .
formatCalendarDate = function (dateTime) {
return moment.utc(dateTime).format('LLL');
};
Nó hiển thị: "28 februari 2013 09:24"
Nhưng tôi muốn loại bỏ thời gian ở cuối. Làm thế nào tôi có thể làm điều đó?
Tôi đang sử dụng Moment.js .
Câu trả lời:
Xin lỗi để nhảy vào quá muộn, nhưng nếu bạn muốn loại bỏ phần thời gian của một moment()
thay vì định dạng nó, thì mã là:
.startOf('day')
Tham chiếu: http://momentjs.com/docs/#/manipulation/start-of/
startOf('day')
, đó là ngày bắt đầu của ngày hôm trước . Đã sửa vớimoment(moment.utc('2013-10-29T00:00:00+00:00').startOf('day').format('LL')).startOf('day').toDate()
.startOf('day')
không loại bỏ phần thời gian mỗi se, nó chỉ đặt thời gian là 00:00:00. Vì vậy, vâng, như nhận xét của 'collin', bạn phải cẩn thận khi lưu ngày. Thay thế tốt hơn là sử dụng format('LL')
, như đã được trả lời trong chủ đề này.
someMoment.clone().startOf('day')
hoặc moment(someMoment).startOf('day')
.
moment().utc().add(1,'d').startOf('day')
sẽ thiết lập lại đối tượng cho đến ngày hôm nay.
format('LL')
Tùy thuộc vào những gì bạn đang cố gắng làm với nó, format('LL')
có thể thực hiện các mẹo. Nó tạo ra một cái gì đó như thế này:
Moment().format('LL'); // => April 29, 2016
Cách chính xác sẽ là chỉ định đầu vào theo yêu cầu của bạn sẽ giúp bạn linh hoạt hơn.
Định nghĩa hiện tại bao gồm những điều sau đây
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'
Bạn có thể sử dụng bất kỳ trong số này hoặc thay đổi đầu vào được chuyển thành khoảnh khắc (). Format (). Ví dụ, đối với trường hợp của bạn, bạn có thể vượt qua moment.utc(dateTime).format('MMMM D, YYYY')
.
Bạn cũng có thể sử dụng định dạng này:
moment().format('ddd, ll'); // Wed, Jan 4, 2017
Với các phiên bản mới hơn của Moment.js, bạn cũng có thể làm điều này:
var dateTime = moment();
var dateValue = moment({
year: dateTime.year(),
month: dateTime.month(),
day: dateTime.date()
});
date: dateTime.date()
thay thế day: dateTime.date()
?
day
hoạt động phiên bản trước 2.8.4.
Được rồi, vì vậy tôi biết tôi đến bữa tiệc muộn. Giống như 6 năm muộn nhưng đây là điều tôi cần để tìm ra và định dạng nó YYYY-MM-DD.
moment().format(moment.HTML5_FMT.DATE); // 2019-11-08
Bạn cũng có thể vượt qua trong một tham số như , 2019-11-08T17:44:56.144
.
moment("2019-11-08T17:44:56.144").format(moment.HTML5_FMT.DATE); // 2019-11-08
Bất cứ khi nào tôi sử dụng moment.js
thư viện, tôi chỉ định định dạng mong muốn theo cách này:
moment(<your Date goes here>).format("DD-MMM-YYYY")
hoặc là
moment(<your Date goes here>).format("DD/MMM/YYYY")
... vv Tôi hy vọng bạn có được ý tưởng
Bên trong chức năng định dạng, bạn đặt định dạng mong muốn. Ví dụ trên sẽ loại bỏ tất cả các yếu tố không mong muốn từ ngày, chẳng hạn như phút và giây
L
, LL
, vv)
Đối với những người như tôi muốn định dạng ngày dài ( LLLL
) nhưng không có thời gian trong ngày, có một vấn đề GitHub cho điều đó: https://github.com/moment/moment/issues/2505 . Hiện tại, có một cách giải quyết:
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);
Bạn có thể sử dụng hàm tạo này
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})
sẽ cho tôi ngày 1 tháng 1 năm 1970 chứ không phải hôm nay.
moment({ h: 0 })
làm như vậy.
Omitted units default to 0 or the current date, month, and year.
Thử cái này:
moment.format().split("T")[0]
1993-06-07T22:00:00.000Z
sẽ có kết quả như 1993-06-07
trong khi đó là ngày bắt đầu của ngày1993-06-08