IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Date au format français [PowerShell]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut Date au format français
    Bonjour.
    J'ai testé pas de choses vues sur le net mais je n'arrive pas à avoir une date du jour au format Lundi 5 février 2018.
    Quelle astuce j'ai loupée ?

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    sans le code ni les données utilisées ce n'est pas aisé de répondre.
    Vérifie déjà que ton code s'exécute dans une session PS avec la culture Fr (Get-Culture).
    Et pour ceci:
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Get-Culture
    #LCID             Name             DisplayName
    #----             ----             -----------
    #1036             fr-FR            Français (France)
     
    [datetime]$D='06/02/2018'
    $d
    #samedi 2 juin 2018 00:00:00
    La date saisie est effectivement considérée comme étant au format US qui est celui par défaut.
    Par contre ceci fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $D='06/02/2018' -as [datetime]
    $d
    #mardi 6 février 2018 00:00:00

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Pour le format de date, il me fallait JJ/MM/AAAA, mais j'ai maintenant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Cannot convert value "2018-02-05" to type "System.Int32". Error: "Input string
    was not in a correct format."
    Avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    + ($DataSetMessage.tables[0].rows[$i]["jour"]) + " : "

  4. #4
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par 69Pierre Voir le message
    Avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    + ($DataSetMessage.tables[0].rows[$i]["jour"]) + " : "
    Sans le code d'affectation, ni le type de la donnée je ne saurais t'aider.
    A priori tu affectes une valeur incorrecte pour une variable typée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [int]$D='2018-02-05'
    Cannot convert value "2018-02-05" to type "System.Int32". Error: "Le format de la chaîne d'entrée est incorrect."

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Bonsoir.
    Je ne sais pas ce qu'est le code d'affectation.

    Je vais reprendre : Mon jour vient d'une BDD au format datetime, dans ma requête, je pensais l'avoir caster avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CAST(CAST(date_debut_message AS DATE)AS NVARCHAR(10)) as jour
    Mais effectivement j'ai plusieurs soucis, peut être déjà un warning auquel je n'ai pas trop prêté attention :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    WARNING: The names of some imported commands from the module 'sqlps' include
    unapproved verbs that might make them less discoverable. To find the commands
    with unapproved verbs, run the Import-Module command again with the Verbose
    parameter. For a list of approved verbs, type Get-Verb.
    J'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $smtpClient.Send($message)
    peut être vaut t-il mieux que j'utilise la méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Send-MailMessage -To $To -From $From -Subject "test" -SmtpServer $SMTPServer -Body $body -Port $SMTPPort -UseSsl -Credential $Credential
    D'ailleurs comment s'appelle ces 2 méthodes ?

    Je te remercie beaucoup de ton aide, j'ai déjà beaucoup appris, il me reste ces quelques trucs en cours, ce serait super si tu pouvais m'accompagner en me reprenant si je ne donne pas les bonnes infos.

  6. #6
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par 69Pierre Voir le message
    Je ne sais pas ce qu'est le code d'affectation.
    C'est ceci, on affecte '2018-02-05' à la variable $D
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [int]$D='2018-02-05'
    C'est la ligne complète qui est utile ici pas un fragment, on ne construit pas un puzzle ;-)
    Citation Envoyé par 69Pierre Voir le message
    je pensais l'avoir caster
    Tu devrais récupérer une chaine unicode, reste à savoir si le format de date côté serveur est celui de la langue Fr.
    Citation Envoyé par 69Pierre
    Mais effectivement j'ai plusieurs soucis, peut être déjà un warning
    Dans le module sqlps un nom de cmdlet utilise un verbe qui n'est pas approuvé, ce n'est un problème pour ton code.
    Et ici c'est l'auteur(e) du module qui doit régler ce problème.
    Citation Envoyé par 69Pierre
    D'ailleurs comment s'appelle ces 2 méthodes ?
    Pas sur de comprendre, $smtpClient est une instance de classe dotnet (un objet) et Send-MailMessage un cmdlet.
    Citation Envoyé par 69Pierre
    en me reprenant si je ne donne pas les bonnes infos.
    Si tu te mets à la place de celui/celle qui peut te répondre, ce ne sera pas nécessaire.
    C'est à toi de nous aider à t'aider :-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher date au format français depuis ma table ?
    Par bond70 dans le forum Langage
    Réponses: 4
    Dernier message: 25/06/2010, 11h27
  2. Date en format français pour document.lastModified
    Par kurtbosh dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/07/2009, 11h59
  3. Réponses: 4
    Dernier message: 06/11/2007, 14h49
  4. date au format français
    Par jeanfi77 dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/03/2007, 09h34
  5. Insérer une date au format français dans un champ
    Par EpOnYmE187 dans le forum Installation
    Réponses: 2
    Dernier message: 14/06/2005, 12h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo