Flash info

Prenez une longueur d'avance avec PowerShell. Faire ce choix c'est anticiper l'avenir des produits Microsoft mais aussi être plus performant dans son travail quotidien d'admin système.

 
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