Sto usando moment.js.Utilizzare "5 giorni fa (Mar)" se entro l'ultima settimana in moment.js
Il valore predefinito per i giorni passati relativi è "5 days ago"
. Ma quello che voglio è che se entro una settimana fa dovrebbe restituire "5 days ago (Tue)"
. Se è più di una settimana, voglio il regolare "5 days ago"
.
The docs say posso fornire una funzione di formato personalizzato una cosa del genere:
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"
}
});
I problemi sono:
- Come faccio a calcolare il nome del giorno per la variabile
FOO
? - Restituisce ad es.
5 days (Mon) ago
invece di5 days ago (Mon)
- Voglio che questo formato personalizzato solo se si tratta di < = 7 giorni (entro l'ultima settimana)
la funzione giorno 'dd' restituisce' "num giorni (FOO)" 'quindi suppongo di ottenere il' fa' dopo perché lo si concatena dopo aver chiamato la funzione. Se lo vuoi diversamente, dovresti gestire il filamento restituito in un altro modo. – cnluzon