Je me demandais s’il y avait un moyen d’obtenir des moments ou d’utiliser du javascript pur pour créer un tableau de tous les jours de la semaine et toutes les heures de la journée afin que je n’aie pas à le coder en dur.
Donc, au lieu de faire manuellement
weekArray = ["Monday", "Tuesday", "Wednesday" ....]
Je cherche un moyen de faire quelque chose comme
weekArray = moment.js(week)
La même idée pour les moments de la journée en particulier, donc je pourrais potentiellement utiliser différents formats.
Pour les jours de semaine, vous pouvez utiliser la méthode des jours de semaine des moments
weekArray = moment.weekdays()
J'utilise cette solution:
var defaultWeekdays = Array.apply(null, Array(7)).map(function (_, i) {
return moment(i, 'e').startOf('week').isoWeekday(i + 1).format('ddd');
});
J'ai obtenu le résultat:
["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
Vous pouvez modifier .format (chaîne) pour changer le format de jours. E.g 'dddd' va montrer:
["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
Vérifiez Documentation Moment.js pour un format plus avancé
Voici un petit extrait pour obtenir les noms (spécifiques à la localisation) des jours de la semaine à partir de Moment.js:
var weekdayNames = Array.apply(null, Array(7)).map(
function (_, i) {
return moment(i, 'e').format('dddd');
});
console.log(weekdayNames);
// Array [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ]
Si vous souhaitez que la semaine commence le lundi, remplacez moment(i, 'e')
par moment(i+1, 'e')
.