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

Shell et commandes GNU Discussion :

Modifier une date


Sujet :

Shell et commandes GNU

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 14
    Par défaut Modifier une date
    Bonjour. Je ne comprend pas le fonctionnement de "date" pour ajouter du temps (ou le soustraire) :

    Si je veux ajouter une heure à 2017-09-16, ça marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    *****@***********:~ $ date -d "2017-09-16 +1hour"
    samedi 16 septembre 2017, 01:00:00 (UTC+0200)
    Si je veux ajouter une heure à 2017-09-16T10:00:00, ça m'en ajoute deux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    *****@***********:~ $ date -d "2017-09-16T10:00:00 +1hour"
    samedi 16 septembre 2017, 12:00:00 (UTC+0200)
    Encore plus incompréhensible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    *****@***********:~ $ date -d "(UTC+01:00) 2017-09-16T10:00:00 +4hours"
    samedi 16 septembre 2017, 09:00:00 (UTC+0200)
    Qu'est-ce que je rate ?

  2. #2
    Membre confirmé Avatar de wh6b.
    Homme Profil pro
    Nicolas Vergnes
    Inscrit en
    Avril 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Nicolas Vergnes
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2017
    Messages : 17
    Par défaut
    Salut,

    en mode debug regarde ce que le GNU date comprend la chose en definition de timezone on dirait


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $ date -u --date='TZ="UTC" 2017-09-09T10:00:00 +9hours' --debug
    date: parsed datetime part: (Y-M-D) 2017-09-09 10:00:00 TZ=+09:00      <---- TZ=+09:00 !
    date: parsed relative part: +1 hour(s)                                                         <- ah bon ?
    date: input timezone: +09:00 (set from parsed date/time string)              <---- TZ=+09:00 !
    date: using specified time as starting value: '10:00:00'
    date: starting date/time: '(Y-M-D) 2017-09-09 10:00:00 TZ=+09:00'
    date: '(Y-M-D) 2017-09-09 10:00:00 TZ=+09:00' = 1504918800 epoch-seconds
    date: after time adjustment (+1 hours, +0 minutes, +0 seconds, +0 ns),
    date:     new time = 1504922400 epoch-seconds
    date: output timezone: +00:00 (set from TZ=UTC0 environment value or -u)
    date: final: 1504922400.000000000 (epoch-seconds)
    date: final: (Y-M-D) 2017-09-09 02:00:00 (UTC0)
    date: final: (Y-M-D) 2017-09-09 02:00:00 (output timezone TZ=+00:00)
    samedi 9 septembre 2017, 02:00:00 (UTC+0000)

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 14
    Par défaut
    OK, merci, en effet, le debug aide.

    Du coup, la manière la plus simple que j'ai trouvée pour ajouter une heure de façon sûre est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    **********@****************:~ $ date -d @$( echo $(( $(date -d "(UTC+0100) 2017-09-16T10:00:00" +%s) + 3600 )) )
    samedi 16 septembre 2017, 11:00:00 (UTC+0200)

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

Discussions similaires

  1. Modifier une date
    Par yassinefeki dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/05/2010, 03h37
  2. Modifier une date mysql au format francais
    Par rimbaut dans le forum Langage
    Réponses: 21
    Dernier message: 15/05/2010, 21h40
  3. Fichiers modifiés à une date précise
    Par Shiryu57 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 20/06/2007, 16h28
  4. Réponses: 1
    Dernier message: 15/04/2007, 18h53
  5. [Dates] Modifier une date avec 'substr'
    Par R'SKaP dans le forum Langage
    Réponses: 4
    Dernier message: 01/06/2006, 12h40

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