Convertir datetime chaîne à une autre datetime chaîne dans PowerShell v2

J'ai la chaîne de caractères qui est tiré à partir d'une entrée dans un fichier journal.

$d = "19/09/2014 22:41:27"

Cependant, j'ai besoin de le convertir, de sorte qu'il est

2014-09-19 22:41:27

afin que je puisse l'exporter à d'autres sections du fichier de log dans une base de données MySQL.

Mais je ne peux pas pour la vie de me trouver une façon de le faire. Je m'attendais à trouver quelque chose comme set dateFormat, ce qui serait simplement re-mapper les composants de la chaîne, mais il ne semble pas exister.

J'ai essayé différentes versions de la suite:

$a = "19/09/2014 22:41:27"
$d = [datetime]::ParseExact($a, "dd/MM/yyyy hh:mm:ss", $null)
$e = "{0:yyyymmddhhmmss}" -f [datetime]$d

Mais tout retourne l'erreur:

Chaîne n'a pas été reconnu comme un DateTime valide.

Quel est le meilleur moyen pour obtenir le format que j'ai besoin s'il vous plaît?

L'erreur à propos de "la Chaîne n'est pas reconnu comme un DateTime valide" est due à votre ParseExact format de date. Vous avez 24 heures de temps énumérées dans la chaîne $un, mais vous tentez de lire 12hour du temps en utilisant les minuscules "hh:". Si vous utilisez "HH:" au lieu de cela il convertit bien.

OriginalL'auteur IGGt | 2014-09-23