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

Langage Perl Discussion :

Transformer date Y-MM-DD en Tue, 10 Apr 2018


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    LFC
    LFC est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 106
    Par défaut Transformer date Y-MM-DD en Tue, 10 Apr 2018
    Bonjour,

    j'ai cherché beaucoup de solutions pour convertir une date dans un format donné en un autre, mais je n'arrive pas à trouver la bonne méthode.

    Comment convertir une date "2018-04-10 00:00:00" en "Tue, 10 Apr 2018 01:00:00 +0200" ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    use Time::Local;
    $madate = "2018-03-27 00:00:00";
    my ($year,$mon,$mday,$hour,$min,$sec) = split(/[\s-:]+/, $madate);
    my $time = timelocal($sec,$min,$hour,$mday,$mon-1,$year);
    $newdate = scalar localtime $time;
    print "new date = $newdate\n";
    Cela donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new date = Tue Mar 27 00:00:00 2018
    Il manque la virgule que j'aimerai pas devoir insérer "après le 1er espace" {beurk}
    L'année ne s'est pas bien placée, et il manque le fuseau horaire...
    Oui, je pourrais déplacer l'année au bon endroit et ajouter la virgule avec des regex, mais il se peut qu'il existe une fonction qui écrive cela proprement ?


    Merci par avance.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juillet 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2014
    Messages : 84
    Par défaut
    tu as des fonctions posix toutes faites pour le reformatage de date.
    Je te renvoie directement sur stackoverflow pour un premier exemple : https://stackoverflow.com/questions/...estamp-in-perl

    et ici https://www.tutorialspoint.com/perl/perl_date_time.htm
    pour plus de détail

  3. #3
    Membre éprouvé Avatar de olivier1969
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 153
    Par défaut
    J'ai pas trop cherché mais ça doit ressembler à quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    use POSIX ;
    use POSIX qw(strftime);
     
    sub getTime {
    	($format ,$sec, $min, $hour, $day, $mon, $year ) = @_ ;
    	$year +=100;
    	$unixtime = mktime ($sec, $min, $hour, $day, $mon, $year ); 
    	($Sec,$Min,$Hour,$Mday,$Mon,$Year,$Wday,$Yday,$Isdst) = localtime($unixtime);
    	return strftime($format, $Sec, $Min, $Hour, $Wday, $Mon, $Year, $Mday);
    }
     
    print getTime ("%a, %d %b %Y %X %Z", 59, 59, 23 ,27, 04, 18) . "\n";

Discussions similaires

  1. transformer date en numero de semaine et inversement avec Weekday
    Par Scopas dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 25/03/2009, 21h08
  2. transformer date/heure avec SchiftDateTime
    Par campia dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 10/12/2008, 14h33
  3. Réponses: 4
    Dernier message: 14/11/2007, 11h07
  4. [Dates] Transformation date en timestamp
    Par NerOcrO dans le forum Langage
    Réponses: 2
    Dernier message: 22/05/2007, 16h25
  5. [XSL] Transformation DATE
    Par Phenolphtaleine dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 28/06/2004, 15h57

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