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

JavaScript Discussion :

Convertir un string en date


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Par défaut Convertir un string en date
    Bonjour,
    J'ai une date dans ce format dans un string
    J'ai n'ai pas réussi à créer un objet date en faisant ceci et je n'ai rien trouvé d'autre pour formater ce type de date...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    new Date("2010-06-24T18:10:23Z")
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var strdate="2010-06-24T18:10:23Z"
    var regdate=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})Z$/
    var matches=regdate.exec(strdate)
    var noodate=new Date()
    noodate.setFullYear(matches[1])
    noodate.setMonth(matches[2]-1)
    noodate.setDate(matches[3])
    noodate.setHours(matches[4])
    noodate.setMinutes(matches[5])
    noodate.setSeconds(matches[6])
    alert(strdate+'\n'+noodate.toLocaleString())


    P.S.
    qui peut se simplifier en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var strdate="2010-06-24T18:10:23Z"
    var regdate=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})Z$/
    var matches=regdate.exec(strdate)
    var noodate=new Date(matches[1],matches[2]-1,matches[3],matches[4],matches[5],matches[6])
    alert(strdate+'\n'+noodate.toLocaleString())
    re P.S.:
    Autre possibilité:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var strdate="2010-06-24T18:10:23Z"
    var regdate=/[TZ:-]{1}/g
    strdate=strdate.split(regdate)
    var noodate=new Date(+strdate[0],+strdate[1]-1,+strdate[2],+strdate[3],+strdate[4],+strdate[5])
    alert(strdate+'\n'+noodate.toLocaleString())
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2010
    Messages : 19
    Par défaut
    Citation Envoyé par Gregory.M Voir le message
    J'ai une date dans ce format dans un string
    J'ai n'ai pas réussi à créer un objet date en faisant ceci et je
    n'ai rien trouvé d'autre pour formater ce type de date...
    C'est peut-être une solution un peu lourde pour votre problème, mais
    j'ai fait un petit objet XsDateTime ("Xs" comme XML Schema, parce que
    c'était le contexte de ce que j'avais à résoudre) qui fait ce genre
    de conversions dans les deux sens, quel que soit le cas de figure.

    C'est ici : http://baagoe.com/en/ES/XsDateTime.js
    (désolé, les explications sont en anglais...)

    Moyennant quoi, vous pouvez écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      var d = new XsDateTime("2010-06-24T18:10:23Z");
      window.alert(d); // affiche '2010-06-24T20:10:23+02:00'
                       // si votre système est à l'heure française d'été
      window.alert(d.toString(0, '+09:00'));
                       // affiche '2010-06-25T03:10:23+09:00'
                       // l'heure correspondante de Tokyo en format ISO
                       // remarquez le changement de date
    `d.toLocaleString()` ou `d.date.toString()` pourraient éventuellement
    vous fournir une date avec un format plus dans les habitudes françaises,
    ça dépend de votre système.

    En tout état de cause, `d.date` vous donne accès à un objet Date
    standard, convenablement initialisé.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    ha ben forcément ne connaissant pas ls xs:datetime je ne pouvais proposer qu'une solution demi solution
    du coup j'ai raté les offset

    encore un excellent travail du great Dane
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre éclairé Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Par défaut
    Merci

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

Discussions similaires

  1. Convertir une string en Date
    Par bibou dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 06/05/2008, 16h42
  2. convertir une string en date
    Par Art19 dans le forum Delphi
    Réponses: 7
    Dernier message: 23/04/2007, 17h42
  3. Convertir une string en date.
    Par Empty_body dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/11/2006, 21h56
  4. [vba] convertir une string en date
    Par megapacman dans le forum Access
    Réponses: 1
    Dernier message: 11/09/2006, 15h46
  5. [Firebird] Convertir une String en date
    Par laffreuxthomas dans le forum SQL
    Réponses: 1
    Dernier message: 04/05/2005, 19h42

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