Tôi đang sử dụng moment.js.Sử dụng "5 ngày trước (Thứ Ba)" nếu trong tuần cuối cùng trong moment.js
Giá trị mặc định cho các ngày quá khứ tương đối là "5 days ago"
. Nhưng những gì tôi muốn là nếu nó trong vòng một tuần trước nó sẽ trả lại "5 days ago (Tue)"
. Nếu nó hơn một tuần, tôi muốn thường xuyên "5 days ago"
.
The docs say tôi có thể cung cấp một chức năng để định dạng tùy chỉnh một điều như vậy:
moment.locale('en', {
relativeTime : {
future: "in %s",
past: "%s ago",
s: "seconds",
m: "a minute",
mm: "%d minutes",
h: "an hour",
hh: "%d hours",
//d: "a day", // this is the default
d: function(num, noSuffix, key, future) { return "a day (" + FOO + ")"; },
//dd: "%d days", // this is the default
dd: function(num, noSuffix, key, future) { return num + "days (" + FOO + ")"; },
M: "a month",
MM: "%d months",
y: "a year",
yy: "%d years"
}
});
Những vấn đề là:
- Làm thế nào để tính toán tên các ngày trong tuần cho biến
FOO
? - Nó trả về ví dụ:
5 days (Mon) ago
thay vì5 days ago (Mon)
- Tôi muốn định dạng tùy chỉnh này chỉ khi nó < = 7 ngày (trong tuần trước)
chức năng ngày 'dd' trả về' "num days (FOO)" 'vì vậy tôi giả sử bạn nhận được' previous' sau khi bạn nối nó sau khi gọi hàm. Nếu bạn muốn nó khác nhau, bạn nên xử lý sợi bị trả lại theo cách khác. – cnluzon