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 PHP Discussion :

Nombre de jour avant la fin de l'année


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 65
    Points : 31
    Points
    31
    Par défaut Nombre de jour avant la fin de l'année
    Salut à tous, je cherche actuellement à récupérer un nombre jour entre une date reçu dans un formulaire et la fin de l'année.
    Par exemple : on donne la date 2017-12-11 il faut que je calcule combien de jours il y a avant le 2017-12-31.
    Le problème est que la date dépend de ce que rentre l'utilisateur...
    Auriez vous des solutions permettant de réaliser ça ?
    Le réel problème étant d'obtenir la date 2017-12-31.

  2. #2
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    J’ai bricolé un petit truc… Je suis pas super à l’aise avec l’API de dates de PHP.

    Dans l’idée je fais comme ça :
    1. je récupère la date actuelle
    2. je rajoute 1 an
    3. je rabats au 1er janvier
    4. je retire 1 jour


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $today = new DateTime();
    $currentYear = intval($today->format('Y'), 10);
     
    $nextJanuary1st = new DateTime();
    $nextJanuary1st->setDate($currentYear + 1, 1, 1);
    var_dump($nextJanuary1st);
     
    $nextJanuary1st->modify('-1 day');
    var_dump($nextJanuary1st);
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 65
    Points : 31
    Points
    31
    Par défaut
    Merci pour ton aide,
    j'ai réussi moi aussi à produire un petit truc tout à l'heure, en parti récupéré d'un forum d'aide sur un sujet ancien.
    Code : 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
     
    <?php 
    $date = new DateTime($_POST['dateMiseService']); $anneeMiseService = $date->format('Y'); 
    $finAnneeMiseService = $anneeMiseService."-12-31";
    // On transforme les 2 dates en timestamp
    $date3 = strtotime($_POST['dateMiseService']);
    $date4 = strtotime($finAnneeMiseService);
     
    // On récupère la différence de timestamp entre les 2 précédents
    $nbJoursTimestamp = $date4 - $date3;
     
    // ** Pour convertir le timestamp (exprimé en secondes) en jours **
    // On sait que 1 heure = 60 secondes * 60 minutes et que 1 jour = 24 heures donc :
    $nbJours = $nbJoursTimestamp/86400; // 86 400 = 60*60*24
     
    echo $nbJours;
    ?>
    Ça semble convenir pour le travail que ça à produire dans mon code mais il est-ce que syntaxiquement c'est clean ?

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    tiens inspire toi de ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $user = '2017-12-11';
    $date = new DateTimeImmutable($user);
    $days = $date->modify('last day of this year')->diff($date)->days;  // 20 jours

Discussions similaires

  1. récupérer le nombre de jours dans un mois de l’année
    Par sg025 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 02/01/2017, 20h27
  2. Réponses: 8
    Dernier message: 18/11/2014, 17h33
  3. [Dates] nombre de jours avant Noël
    Par hubald dans le forum Langage
    Réponses: 1
    Dernier message: 19/11/2008, 16h32
  4. Réponses: 1
    Dernier message: 14/05/2007, 13h27

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