Flash info

"Si vous vivez chaque jour comme si c'était le dernier, un jour vous aurez probablement raison."

Steve Jobs (1955-2011)

 
Accueil arrow Articles / Tutoriaux arrow Astuce : une date qui s'adapte à la Culture
Astuce : une date qui s'adapte à la Culture
Écrit par Arnaud Petitjean [MVP]   
16-03-2010
 ktip.png

Peut-être avez vous déjà remarqué que PowerShell utilisait par défaut le format de date américain de la forme MM/JJ/AAAA ? Ce qui ne va pas sans poser problème pour nous autres français.  

Exemple :

Ceci génère une erreur :

PS > $maDate = [Datetime]'16/03/2010'

Impossible de convertir la valeur « 16/03/2010
 » en type « System.DateTime ». Erreur : « La chaîne n'a pas été reconnue en tant que DateTime valide. »
Au niveau de ligne : 1 Caractère : 21
+ $maDate = [DateTime] <<<< '16/03/2010'
    + CategoryInfo          : NotSpecified: (:) [], RuntimeException
    + FullyQualifiedErrorId : RuntimeException

 

Mais ceci ne génère pas d'erreur car le format d'entrée correspond bien à celui attendu par PowerShell :

PS > $maDate = [Datetime]'03/16/2010'

PS > $maDate

mardi 16 mars 2010 00:00:00

A présent vous serez heureux d'apprendre l'existence de l'opérateur de type -as. Grâce à lui, une chaine va être convertie automatiquement dans le bon type :

PS > '16/03/2010' -as [Datetime]

mardi 16 mars 2010 00:00:00

Ce qui va désormais nous permettre d'écrire la chose suivante pour créer une variable avec une date formattée à la française :

PS > $maDate = '16/03/2010' -as [Datetime]

ou encore, ce qui revient au même :

PS > [Datetime]$maDate = '16/03/2010' -as [Datetime]

Avouez que c'est tout de même plus pratique que de saisir une date à l'américaine !?
 
© 2017 PowerShell-Scripting.com