Giải pháp khá đơn giản và có thể ai đó sẽ thấy nó hữu ích. Trong hầu hết các dự án, bạn có một vài định dạng ngày bạn muốn sử dụng. Vì vậy, đó là một cách tiếp cận tốt để xác định các định dạng của bạn với các tên có thể đọc được.
Đối với ví dụ này, tôi chỉ cần 'ngắn' và 'dài', nhưng bạn sẽ thấy, nó rất dễ mở rộng.
Vì vậy, tôi đã tạo ra một đối tượng trong Script Khách hàng của tôi:
var DateFormats = {
short: "DD MMMM - YYYY",
long: "dddd DD.MM.YYYY HH:mm"
};
Ngoài ra, tôi đã tạo ra một Helper tay lái "formatDate".
được sửa đổi: Bây giờ bạn nên sử dụng giao diện người dùng thay vì tay lái
// Deprecated since version 0.8.0
Handlebars.registerHelper("formatDate", function(datetime, format) {
// Use UI.registerHelper..
UI.registerHelper("formatDate", function(datetime, format) {
if (moment) {
// can use other formats like 'lll' too
format = DateFormats[format] || format;
return moment(datetime).format(format);
}
else {
return datetime;
}
});
Như bạn thấy, tôi sử dụng moment.js lib trong Helper của tôi. Để cài đặt, chỉ cần nhập meteor add momentjs:moment
từ dòng lệnh của bạn.
Và bây giờ, ở khắp mọi nơi trong Templates của tôi, tôi có thể sử dụng nó với hai params, như thế này:
{{formatDate MyISOString "short"}} // 02 September - 2013
{{formatDate MyISOString "long"}} // Monday 02.09.2013 18:00
Nếu bạn muốn tạo các định dạng của riêng bạn, hãy nhìn vào các tài liệu momentjs http://momentjs.com/docs/
Chúc mừng mã hóa!
Bất kỳ cơ hội nào bạn có thể thực hiện theo định dạng Giải Đáp mà StackOverflow sử dụng? tức là đăng câu hỏi với giải pháp của bạn. Nếu không ai đó sai lầm của tôi này cho một quảng cáo và giết nó. Cũng đừng quên chấp nhận câu trả lời của bạn! – booyaa
@booyaa Cảm ơn thời điểm này. –