Question [Resolu]Convertir une variable en date?

Plus d'informations
il y a 11 ans 2 semaines #14462 par buissonneau
Bonjour,
J'essaye de faire un petit script qui me permet
de transformer une saisie en format date.
Par exemple je demande à une personne de saisir une date d'expiration :

[code:1]$Expiration = read-host \"date d'expiration au format JJMMAAAA \" [/code:1]

Bon notez que je pourrais demander la saisie au format JJ/MM/AAAA directement, mais on m'a demandé de respecter ce format :sick:

et j'aimerai après pouvoir l'exploiter en tant que date, par exemple pour l'expiration d'un compte dans l'AD. Mais il semblerait qu'il me faut avoir les \"/\" entre JJ/MM/AAAA pour qu'il soit interprété correctement.
Mais j'ai beau chercher je ne trouve pas, peut-être avec une expression régulière, mais là je me suis arraché les cheveux.

Alors j'ai fait sous forme de 3 variables pour m'en sortir, mais j'aimerai apprendre à faire du code propre même si c'est pas mon métier.

[code:1]$Day = read-host \"Date d'expiration Jour \"
$Month = read-host \"Date d'expiration Mois \"
$Year = read-host \"Date d'expiration Année \"
$date = \"$day\" + \"/\" + \"$Month\" + \"/\" + \"$Year\"[/code:1]

D'ailleurs est-il possible de découper le contenu d'une variable, par exemple (08011976) en plusieurs variables distinctes?

Merci de vos lumières.
@bientôt<br><br>Message édité par: xaviar, à: 28/03/13 09:30

Francis

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 2 semaines #14464 par ANTRI Mohamed
Bonjour,

je crois que comme sa cela fonctionne :

[code:1]
$date = Read-Host \&quot;Merci d'entrer la date\&quot;
[datetime]::«»ParseExact($date,\&quot;ddmmyyyy\&quot;,$null)
[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 2 semaines #14466 par Yves Campmas
Mettre juste les mm en majuscule, sinon il te prend ceci pour des minutes ;)

C'est seulement cette ligne qui change :

[code:1]$date = [datetime]::«»ParseExact($date,\&quot;ddMMyyyy\&quot;,$null) [/code:1]<br><br>Message édité par: yvesca, à: 27/03/13 16:55

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 2 semaines #14469 par buissonneau
Ah merci bien, je vais tester cela. :woohoo:

Francis

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 2 semaines #14470 par buissonneau
arf j'ai un message d'erreur :
[code:1]New-ADUser : Impossible de lier le paramètre «AccountExpirationDate». Impossible de convertir la valeur «12/31/2015 00:00:00» en type «System.DateTime». Erreur
: «La chaîne n'a pas été reconnue en tant que DateTime valide.»[/code:1]

Francis

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 2 semaines #14471 par buissonneau
Solution :
[code:1]$date = read-host \&quot;Date d'expiration \&quot;
$date = ([datetime]::«»ParseExact($date,\&quot;ddMMyyyy\&quot;,$null)).ToShortDateString()[/code:1]

Solution trouvé ici : techibee.com/powershell/powershell-conve...-datetime-format/952

Message édité par: xaviar, à: 28/03/13 09:31

Francis

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.073 secondes
Propulsé par Kunena