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

  1. #1
    Membre régulier Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2019
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : juin 2019
    Messages : 176
    Points : 85
    Points
    85
    Par défaut [PHP] Ajouter une heure précise à une DATE provenant d'un formulaire
    Bonjour , j'envoie une date par formulaire via fichier txt et j'aimerais fixer la date à 6h , comment faire ?
    je veux ça en gros :

    $ajd = $madate à 6h

    Et j'aimerais également avoir un truc du genre :

    $hier = $madate -1 jour à 6h



    Format de ma date : Année-Mois-Jour
    “L’homme est la mesure de toute chose” Protagoras
    "Goutte après goutte l'eau finit par creuser le marbre"

    Pensez à mettre !
    Si un message vous a aidé , pensez à mettre !

    Mon Twitter
    Ma Veille Techno

  2. #2
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    5 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 5 839
    Points : 15 951
    Points
    15 951
    Billets dans le blog
    10
    Par défaut
    salut

    lis la doc : DateTime
    # Dans la Création, tout est permis mais tout n'est pas utile...

  3. #3
    Membre régulier Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2019
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : juin 2019
    Messages : 176
    Points : 85
    Points
    85
    Par défaut
    déjà fait , rien trouvé.
    Si je pose ma question ici , c'est que j'ai déjà cherché et rien trouvé du coup
    “L’homme est la mesure de toute chose” Protagoras
    "Goutte après goutte l'eau finit par creuser le marbre"

    Pensez à mettre !
    Si un message vous a aidé , pensez à mettre !

    Mon Twitter
    Ma Veille Techno

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    juin 2005
    Messages
    5 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : juin 2005
    Messages : 5 184
    Points : 11 718
    Points
    11 718
    Par défaut
    Citation Envoyé par theocbr Voir le message
    déjà fait , rien trouvé.
    Si je pose ma question ici , c'est que j'ai déjà cherché et rien trouvé du coup
    Bah, faut un peu chercher quand même, c'est écrite en long et large ici , allez je suis de bonne humeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    $date_six_heures = DateTime::createFromFormat('Y-m-d H:i', $ajd .' 06:00');
    $date_six_heures->sub(new DateInterval('P1D'));
    echo $date->format('Y-m-d') . "\n";

  5. #5
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    juin 2005
    Messages
    5 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : juin 2005
    Messages : 5 184
    Points : 11 718
    Points
    11 718
    Par défaut
    Maintenant, j'ai aussi une préférence pour la Lib Carbon , plus complète et mieux documenter à mon sens, mais ce n'est que mon avis.

  6. #6
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    5 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 5 839
    Points : 15 951
    Points
    15 951
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par theocbr Voir le message
    déjà fait , rien trouvé.
    Si je pose ma question ici , c'est que j'ai déjà cherché et rien trouvé du coup
    Tu te payes notre tête ?

    D'après la doc qui est très très difficile à lire... ça doit être dû au fait qu'elle soit en français
    ce n'était pas à ta portée 2 pauvres lignes de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $auj = (new DateTimeImmutable())->setTime(6, 0);
    $hier = $auj->modify('-1 day');
    Arrêtes tes études et bifurque vers la charcuterie, tu y seras plus à l'aise
    # Dans la Création, tout est permis mais tout n'est pas utile...

  7. #7
    Membre régulier Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2019
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : juin 2019
    Messages : 176
    Points : 85
    Points
    85
    Par défaut
    Merci MaitrePylos !

    Citation Envoyé par rawsrc Voir le message

    Arrêtes tes études et bifurque vers la charcuterie, tu y seras plus à l'aise
    T'es bien insolent derrière ton écran toi
    Et dommage pour toi je suis pas en étude pour le WebDev , mais pour la POO , bisous
    “L’homme est la mesure de toute chose” Protagoras
    "Goutte après goutte l'eau finit par creuser le marbre"

    Pensez à mettre !
    Si un message vous a aidé , pensez à mettre !

    Mon Twitter
    Ma Veille Techno

  8. #8
    Membre régulier Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2019
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : juin 2019
    Messages : 176
    Points : 85
    Points
    85
    Par défaut
    Si non j'ai cette erreur :
    Nom : yy.PNG
Affichages : 67
Taille : 7,4 Ko


    Donc j'ai ajouté :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    $datechoisit = $newDate->format('Y-m-d H:i');

    et j'ai cette erreur :
    Nom : erreur.PNG
Affichages : 65
Taille : 10,4 Ko

    Code complet si besoin :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <!DOCTYPE html> 
    <?php
    //error_reporting(0); // Désactiver le rapport d'erreurs
    $tableau = unserialize(file_get_contents('dateexport.txt'));// Récupération de la date choisit
    $datechoisit = $tableau['dateexport'];
    $datechoisit = (new DateTimeImmutable())->setTime(6, 0);
    $datechoisit = $newDate->format('Y-m-d H:i');
    $jouravant = $datechoisit->modify('-1 day');
     
     
    // CONNEXION BDD
    $mysqli = new mysqli("localhost", "anniv", "anniversaire", "AUTOMATES");
    if ($mysqli->connect_errno) {
    printf("echec de la connexion : %s\n", $mysqli->connect_error);
    exit();
    }
    if(!empty($tableau))
    {
    $sql = "TRUNCATE TABLE AUTOMATES.EXPORT_TIMERSIMA"; //VIDER LA TABLE EXPORT_TIMERSIMA
    $result1 = $mysqli->query($sql);
    // COPIER DONNEES DE HIER 6h à AUJOURD'HUI 6h SIMAPROD DANS EXPORT_TIMERSIMA SELON LA DATE CHOISIT :
    $sql2 ="INSERT INTO AUTOMATES.EXPORT_TIMERSIMA SELECT * FROM AUTOMATES.SIMAPROD WHERE TIMER BETWEEN '$jouravant' AND '$datechoisit'"; 
    $result2 = $mysqli->query($sql2);
    }
    ?>
    “L’homme est la mesure de toute chose” Protagoras
    "Goutte après goutte l'eau finit par creuser le marbre"

    Pensez à mettre !
    Si un message vous a aidé , pensez à mettre !

    Mon Twitter
    Ma Veille Techno

  9. #9
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    5 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 5 839
    Points : 15 951
    Points
    15 951
    Billets dans le blog
    10
    Par défaut
    C'est olé-olé ton bout de code :
    tiens une version corrigée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $tableau    = unserialize(file_get_contents('dateexport.txt'));// Récupération de la date choisie
    $date       = (new DateTimeImmutable($tableau['dateexport']))->setTime(6, 0); // je présume que la date est au format AAAA-MM-DD
    $date_str   = $date->format('Y-m-d H:i');
    $jour_avant = $date->modify('-1 day');
    Sinon, pense aux rillettes quand tu codes même en POO, ça passera mieux
    # Dans la Création, tout est permis mais tout n'est pas utile...

  10. #10
    Membre régulier Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2019
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : juin 2019
    Messages : 176
    Points : 85
    Points
    85
    Par défaut
    Merci , j'ai une question étant donné que TIMER est un timstamp dans ma bdd, je dois convertir en timestamp ou bien c'est automatique ?
    “L’homme est la mesure de toute chose” Protagoras
    "Goutte après goutte l'eau finit par creuser le marbre"

    Pensez à mettre !
    Si un message vous a aidé , pensez à mettre !

    Mon Twitter
    Ma Veille Techno

  11. #11
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    5 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 5 839
    Points : 15 951
    Points
    15 951
    Billets dans le blog
    10
    Par défaut
    ta question n'est pas claire.
    Si c'est un timestamp, il doit être géré par la base de données, non ?
    Sinon, il faudra le formater correctement en PHP avant de la présenter pour persistance.
    # Dans la Création, tout est permis mais tout n'est pas utile...

  12. #12
    Membre régulier Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2019
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : juin 2019
    Messages : 176
    Points : 85
    Points
    85
    Par défaut
    D'accord je cherche de mon côté, si non :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $jour_avant = $date->modify('-1 day');
     
    echo $jour_avant;

    n'affiche rien, à part cet erreur :
    Nom : u.PNG
Affichages : 49
Taille : 7,1 Ko

    Si non, pour convertir en timestamp c'est ça : $stamp2 = strtotime($datechoisit);
    “L’homme est la mesure de toute chose” Protagoras
    "Goutte après goutte l'eau finit par creuser le marbre"

    Pensez à mettre !
    Si un message vous a aidé , pensez à mettre !

    Mon Twitter
    Ma Veille Techno

  13. #13
    Membre régulier Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2019
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : juin 2019
    Messages : 176
    Points : 85
    Points
    85
    Par défaut
    EDIT :


    J'ai fais ça , mais là c'est pas un jour que ça enlève mais 1 heure... :c
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <!DOCTYPE html> 
    <?php
    //error_reporting(0); // Désactiver le rapport d'erreurs
    $tableau    = unserialize(file_get_contents('dateexport.txt'));// Récupération de la date choisie
     
    $date       = (new DateTimeImmutable($tableau['dateexport']))->setTime(6, 0); 
    $datechoisit   = $date->format('Y-m-d H:i'); // Changement du format
    $jour_avant =date("Y-m-d",strtotime($datechoisit." -1 day")); // J-1 Date choisit 
     
     
    $stamp2 = strtotime($datechoisit);
    $stamp1 = strtotime($jour_avant);
     
     
    echo $stamp2;
     
     
    // CONNEXION BDD
    $mysqli = new mysqli("localhost", "anniv", "anniversaire", "AUTOMATES");
    if ($mysqli->connect_errno) {
    printf("echec de la connexion : %s\n", $mysqli->connect_error);
    exit();
    }
    if(!empty($tableau))
    {
    $sql = "TRUNCATE TABLE AUTOMATES.EXPORT_TIMERSIMA"; //VIDER LA TABLE EXPORT_TIMERSIMA
    $result1 = $mysqli->query($sql);
    // COPIER DONNEES DE HIER 6h à AUJOURD'HUI 6h SIMAPROD DANS EXPORT_TIMERSIMA SELON LA DATE CHOISIT :
    $sql2 ="INSERT INTO AUTOMATES.EXPORT_TIMERSIMA SELECT * FROM AUTOMATES.SIMAPROD WHERE TIMER BETWEEN '$stamp1' AND '$stamp2'"; 
    $result2 = $mysqli->query($sql2);
    }
    ?>
    “L’homme est la mesure de toute chose” Protagoras
    "Goutte après goutte l'eau finit par creuser le marbre"

    Pensez à mettre !
    Si un message vous a aidé , pensez à mettre !

    Mon Twitter
    Ma Veille Techno

  14. #14
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    5 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 5 839
    Points : 15 951
    Points
    15 951
    Billets dans le blog
    10
    Par défaut
    Tu ne peux pas faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $jour_avant = $date->modify('-1 day');
    echo $jour_avant;
    $jour_avant est un objet.

    Par contre tu peux le formater comme tu veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $jour_avant->format('Y-m-d H:i');
    Donc à l'insertion en base : tu dois juste présenter : $jour_avant->format('Y-m-d H:i')
    Arrête avec strtotime ou date()... Garde l'approche objet : DateTime()
    # Dans la Création, tout est permis mais tout n'est pas utile...

  15. #15
    Membre régulier Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2019
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : juin 2019
    Messages : 176
    Points : 85
    Points
    85
    Par défaut
    Tes codes me crée toujours des erreurs incompréhensible , si tu y connais rien , dit le.
    Pour le moment tu m'a pas grandement aidé...
    Car je sais pas si t'es au courant strtotime permet de convertir en timestamp et il me faut du timestamp !

    Je ne demande pas de changer de format, je veux avoir le jour avant de la date qui se trouve dans un fichier txt.

    J'ai réussis moi même, merci quand même.
    “L’homme est la mesure de toute chose” Protagoras
    "Goutte après goutte l'eau finit par creuser le marbre"

    Pensez à mettre !
    Si un message vous a aidé , pensez à mettre !

    Mon Twitter
    Ma Veille Techno

  16. #16
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    5 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 5 839
    Points : 15 951
    Points
    15 951
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par theocbr Voir le message
    Tes codes me crée toujours des erreurs incompréhensible , si tu y connais rien , dit le.
    Pour le moment tu m'a pas grandement aidé...
    bah moi aussi je galère avec le PHP, qu'est-ce que tu crois ?
    Tu m'as démasqué sur une simple fonction de date, la vache ! Chapeau bas, mec !
    # Dans la Création, tout est permis mais tout n'est pas utile...

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

Discussions similaires

  1. Inversion du jour et du mois d'une date provenant d'un formulaire.
    Par defluc dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/01/2014, 12h56
  2. [Dates] Affichage d'une date provenant de la base au format(jj-mm-aaaa)
    Par L'aigle de Carthage dans le forum Langage
    Réponses: 8
    Dernier message: 21/03/2008, 10h32
  3. [MySQL] Enregistrement erroné d'une date provenant d'un formulaire en base
    Par dedein84 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 11/01/2008, 15h25
  4. ajoute une date de reunion pour plusieur enregistrement
    Par popofpopof dans le forum VBA Access
    Réponses: 9
    Dernier message: 10/08/2007, 17h08
  5. Réponses: 1
    Dernier message: 30/06/2006, 17h01

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