J'ai une chaîne de date au format (aaaa-mm-jj), comment puis-je en obtenir le nom du jour de la semaine?
Exemple:
new Date()
, la sortie serait basée sur le jour de la semaine en coursSi vous incluez cette fonction quelque part dans votre projet,
// Accepts a Date object or date string that is recognized by the Date.parse() method
function getDayOfWeek(date) {
const dayOfWeek = new Date(date).getDay();
return isNaN(dayOfWeek) ? null :
['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][dayOfWeek];
}
Vous pourrez l'utiliser n'importe où facilement comme ceci:
getDayOfWeek( "2013-07-31" )
> "Wednesday"
getDayOfWeek( new Date() ) // or
getDayOfWeek( Date.now() )
> // (will return today's day. See demo jsfiddle below...)
Si une chaîne de date non valide est utilisée, une valeur null sera retournée.
getDayOfWeek( "~invalid string~" );
> null
Les chaînes de date valides sont basées sur la méthode Date.parse () comme décrit dans la référence JavaScript MDN .
Démo: http://jsfiddle.net/samliew/fo1nnsgp/
Bien sûr, vous pouvez également utiliser le plugin moment.js , surtout si des fuseaux horaires sont requis.
Utilisez le code ci-dessous:
var gsDayNames = [
'Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday'
];
var d = new Date("2013-07-31");
var dayName = gsDayNames[d.getDay()];
//dayName will return the name of day
Voici des solutions à une ligne, mais veuillez d'abord vérifier le support.
let current = new Date();
let today = current.toLocaleDateString('en-US',{weekday: 'long'});
console.log(today);
let today2 = new Intl.DateTimeFormat('en-US', {weekday: 'long'}).format(current);
Si vous ne voulez pas écrire de fonction, utilisez simplement le code de format défini par l'utilisateur "NNNN". Cela imprimera le jour de la semaine dans la cellule contenant la date. Si vous voulez vraiment une chaîne (plutôt que d'avoir simplement le mot affiché dans votre feuille de calcul), vous pouvez entrer la formule
=TEXT(A1;"NNNN")
résultant en une chaîne contenant le jour de la semaine.