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

ASP.NET Discussion :

[C#] DateTime heure anglaise <-> française


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 93
    Par défaut [C#] DateTime heure anglaise <-> française
    Bonjour,

    je déclare un DateTime dans le code behind (C#) d'une page ASP.Net

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DateTime Dt = new DateTime(2005,10,15,23,10,05);
    on devrai obtenir 15/10/2005 23:10:05

    mais j'ai beau faire tout ce que je veu j'obtien 15/10/2005 11:10:05

    comment faire pour enfin obtenir un bon DateTime ??

  2. #2
    Membre Expert
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Par défaut
    je suis pas sur du tout mais as tu essayer de fixer la culture de ton Thread.
    Thread.CurrentThread.CurrentCulture ... avec un culture francaise ...

    @+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 93
    Par défaut
    oui, j'ai oublié de préciser que mon poste est un windows en anglais en anglais

    j'ai vu aussi qu'il y avait un truc du genre :

    Session.LCID=1036

    ou

    Session.LCID=&h040c

    çà ne marche pas pour l'instant.

  4. #4
    Membre Expert
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Par défaut
    Citation Envoyé par Nycos62
    oui, j'ai oublié de préciser que mon poste est configuré en anglais

    j'ai vu aussi qu'il y avait un truc du genre :

    Session.LCID=1036

    ou

    Session.LCID=&h040c

    çà ne marche pas pour l'instant.
    ok alors il faut voir du coté de la culture je pense, sinon je sais pas trop car moi je connais pas du tout l'ASP.NET. sorry.

    @+

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 93
    Par défaut
    J'ai l'impression d'avoir tout essayé :

    dans chaque page_load() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CultureInfo frc = new CultureInfo("fr-FR");
    			Thread.CurrentThread.CurrentCulture = frc;
    			Thread.CurrentThread.CurrentUICulture = frc;
    dans chaque page ASPX, j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ Page Culture="fr-FR" UICulture="fr-FR" %>
    et dans mon Web.Config

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <globalization
    .....
    culture="fr-FR" 
    uiCulture="fr-FR"
    />
    çà ne change pas le format de mes DateTime qui s'arretent à 12h00

  6. #6
    Membre Expert
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Par défaut
    faut peut etre que tu fasse une bidouille alors.
    MSDN
    Le type valeur DateTime représente des dates et des heures dont la valeur est comprise entre 12:00:00 (minuit), le 1er janvier de l'année 0001 de l'ère commune et 11:59:59, le 31 décembre de l'année 9999 après J.C. (ère commune).
    @+

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 93
    Par défaut
    j'ai trouvé une technique assez laborieuse mais qui fonctionne.

    avant de créer une requête d'insertion vers la base, on transforme la date de telle manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    using System.Globalizations;
    ....
    DateTime DatePlanif = new DateTime (2004,10,15,22,08,12);
    DateTimeFormatInfo dtf = new CultureInfo( "fr-FR", false ).DateTimeFormat;
    DateT.Text = DatePlanif.ToString("dd/MM/yyyy") + " " +DatePlanif.ToString(dtf.LongTimePattern, dtf);
    j'ai bien en base les heures sur 24h :o

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 100
    Par défaut
    Vu que tu passe avec un toString et le format explicite autant faire directement çà

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DateTime DatePlanif = new DateTime (2004,10,15,22,08,12);
    DateT.Text = DatePlanif.ToString("dd/MM/yyyy HH:mm:ss");
    Plus besoin du culture info pour le même resultat..

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 93
    Par défaut
    si parce que pour une raison qui m'est encore inconnue, les dateTime de ma machine ne dépassent pas 12H et par exemple 14H devient 2H.

  10. #10
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Par défaut
    Ça vient de tes paramètres régionaux au niveau de Win en principe.

    Mais... si c'est pour mettre la date dans une requête SQL, tu ne peux pas bêtement passer par SqlCommand et mettre ça dans un paramètre ? Même pas besoin d'essayer de forcer le format comme ça :)

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

Discussions similaires

  1. [2012] Nombre d'heures entre 2 datetime heures de bureau
    Par Babyneedle dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 09/03/2013, 10h24
  2. Format de DateTime heure:minutes
    Par johnaliashead dans le forum C#
    Réponses: 5
    Dernier message: 09/02/2011, 12h05
  3. Recuperer la date sans l'heur dans un champ datetime
    Par bob33 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 22/06/2010, 12h59
  4. faire la difference de deux datetime (heures)
    Par debutantasp dans le forum ASP
    Réponses: 2
    Dernier message: 15/11/2007, 13h52
  5. Version DateTime Heure été/Hiver
    Par ced600 dans le forum C#
    Réponses: 1
    Dernier message: 04/10/2007, 11h31

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