web-dev-qa-db-fra.com

Vous utilisez moment js pour créer un tableau avec les jours de la semaine et les heures de la journée?

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.

12
grasshopper

Pour les jours de semaine, vous pouvez utiliser la méthode des jours de semaine des moments

weekArray = moment.weekdays()
36
Quentin F

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é

3
Yunfei Li

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').

0
Robert K. Bell