Résolu Respect du Séparateur et de la date en FR
- Le CHENADEC
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 11 mois 3 semaines - il y a 11 mois 3 semaines #33406
par Le CHENADEC
Respect du Séparateur et de la date en FR a été créé par Le CHENADEC
Bonjour,
je me retrouve souvent confronté aux problèmes de format de date ou de nombre
lié au respect de la définition de la culture Utilisée.
Mais je m'apperçois également qu'en fonction de la syntaxe que j'utilise sur certaine commande
cela change le format utilisé.
Exemple Ici avec Write-Host et Add-Content
ou en fonction de la Syntaxe mes nombres ont comme séparateur la , ou le point
Idem pour la date qui peut être en FR ou repasser en US.
Si vous avez une idée pour s'assurer que quelque soit la commande utilisée
les nombres et les date ne change pas de Format
Cdt,
je me retrouve souvent confronté aux problèmes de format de date ou de nombre
lié au respect de la définition de la culture Utilisée.
Mais je m'apperçois également qu'en fonction de la syntaxe que j'utilise sur certaine commande
cela change le format utilisé.
Exemple Ici avec Write-Host et Add-Content
ou en fonction de la Syntaxe mes nombres ont comme séparateur la , ou le point
Idem pour la date qui peut être en FR ou repasser en US.
cls
Write-Host $(Get-Culture)
$Fic_Test = 'C:\Temp\test.txt'
Set-Content -Path $Fic_Test -Value "FICHIER DE TEST" -Encoding UTF8
# NOMBRE - Division
$A = 10
$B = 3
$C = $A/$B
$D = [math]::Round($C,2)
Write-Host $C
Write-Host $D
Write-host "$C <-> $D"
Write-host $C '<->' $D
Add-Content -Path $Fic_Test -Value $C
Add-Content -Path $Fic_Test -Value $D
Add-Content -Path $Fic_Test -Value "$C <-> $D"
# Date
$DateJour = Get-Date
Write-Host $DateJour
Write-Host "Date du Jour : $DateJour"
Add-Content -Path $Fic_Test -Value $DateJour
Add-Content -Path $Fic_Test -Value "Date du Jour : $DateJour"
Si vous avez une idée pour s'assurer que quelque soit la commande utilisée
les nombres et les date ne change pas de Format
Cdt,
Pièces jointes :
Dernière édition: il y a 11 mois 3 semaines par Le CHENADEC. Raison: Ajout d'une PJ
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 11 mois 3 semaines #33408
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Respect du Séparateur et de la date en FR
Bonjour,
Tout d'abord sois le bienvenu dans le forum. N'hésites pas à prendre quelques instants pour te présenter dans le forum adéquat, c'est toujours plus sympa pour faire connaissance .
Alors concernant le formatage des dates, ce que je fais toujours et que je te suggère de faire également c'est d'utiliser la commande Get-Date avec le paramètre -Format. Si tu ne l'as pas lue, je te conseille de lire l'aide de Get-Date. Tu y apprendras énormément de choses concernant la manipulation et le formatage des dates.
Attention, avec le paramètre -Format l'objet retourné par Get-Date ne sera plus une Date mais un String. Donc à n'utiliser qu'à la fin pour stocker la date dans un fichier ou pour l'afficher.
Voici un petit exemple pour bien comprendre :
Dans cet exemple j'ai utilisé des tirets et un dièse pour séparer les différents éléments de ma date mais tu peux y mettre ceux de ton choix.
Concernant ton deuxième souci de formatage des nombres dépendant de la culture de ton OS, je te suggère de consulter cet article et on en reparle : stackoverflow.com/questions/2379514/powe...s-in-another-culture
En espérant que ça t'aide.
Arnaud
Tout d'abord sois le bienvenu dans le forum. N'hésites pas à prendre quelques instants pour te présenter dans le forum adéquat, c'est toujours plus sympa pour faire connaissance .
Alors concernant le formatage des dates, ce que je fais toujours et que je te suggère de faire également c'est d'utiliser la commande Get-Date avec le paramètre -Format. Si tu ne l'as pas lue, je te conseille de lire l'aide de Get-Date. Tu y apprendras énormément de choses concernant la manipulation et le formatage des dates.
Attention, avec le paramètre -Format l'objet retourné par Get-Date ne sera plus une Date mais un String. Donc à n'utiliser qu'à la fin pour stocker la date dans un fichier ou pour l'afficher.
Voici un petit exemple pour bien comprendre :
PS > Get-Date -Format 'yyyy-MM-dd#HHmmss'
2023-10-06#111140
Dans cet exemple j'ai utilisé des tirets et un dièse pour séparer les différents éléments de ma date mais tu peux y mettre ceux de ton choix.
Concernant ton deuxième souci de formatage des nombres dépendant de la culture de ton OS, je te suggère de consulter cet article et on en reparle : stackoverflow.com/questions/2379514/powe...s-in-another-culture
En espérant que ça t'aide.
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Le CHENADEC
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 11 mois 3 semaines #33410
par Le CHENADEC
Réponse de Le CHENADEC sur le sujet Respect du Séparateur et de la date en FR
Merci,
pour cette réponse,
mais c'est toujours trompeur qu'en fonction de la commande utilisée,
de voir la date changer de format.
J'ai réussi à contourner mon problème qui consiste
à écrire dans un Csv une date de début et une variable calculée,
qui me donne un nombre a virgule, d'où la gestion du séparateur.
D'une écriture direct en Csv via
Add-content -Path $MonFichier -Value "$VarDate;$VarNum"
je suis passé par une collection d'Objet
puis un Export dans un Fichier Csv
$Coll_Compteur | Export-Csv -Path $FIC_Rpt -Encoding UTF8 -Delimiter ';' -NoTypeInformation
Et là, mon format Date est en FR et ma valeur calculée est bien en séparateur Fr avec une virgule
Cdt,
pour cette réponse,
mais c'est toujours trompeur qu'en fonction de la commande utilisée,
de voir la date changer de format.
J'ai réussi à contourner mon problème qui consiste
à écrire dans un Csv une date de début et une variable calculée,
qui me donne un nombre a virgule, d'où la gestion du séparateur.
D'une écriture direct en Csv via
Add-content -Path $MonFichier -Value "$VarDate;$VarNum"
je suis passé par une collection d'Objet
puis un Export dans un Fichier Csv
$Coll_Compteur | Export-Csv -Path $FIC_Rpt -Encoding UTF8 -Delimiter ';' -NoTypeInformation
Et là, mon format Date est en FR et ma valeur calculée est bien en séparateur Fr avec une virgule
Cdt,
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 11 mois 3 semaines #33413
par Arnaud Petitjean
C'est comme ça que fonctionne PowerShell... Car il te retourne un objet Date et il se débrouille pour te l'afficher du mieux qu'il peut. Il pourrait nous obliger à le faire, ce qui serait galère !
C'est la raison pour laquelle il est toujours mieux d'exporter soi-même la date au bon format comme je te l'expliquais. Ainsi, finies les surprises liées à la culture de ton OS !
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Respect du Séparateur et de la date en FR
...c'est toujours trompeur qu'en fonction de la commande utilisée, de voir la date changer de format.
C'est comme ça que fonctionne PowerShell... Car il te retourne un objet Date et il se débrouille pour te l'afficher du mieux qu'il peut. Il pourrait nous obliger à le faire, ce qui serait galère !
C'est la raison pour laquelle il est toujours mieux d'exporter soi-même la date au bon format comme je te l'expliquais. Ainsi, finies les surprises liées à la culture de ton OS !
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.102 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les initiés
- Respect du Séparateur et de la date en FR