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

Symfony PHP Discussion :

Query Builder avec différence entre date et heure


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 178
    Points : 56
    Points
    56
    Par défaut Query Builder avec différence entre date et heure
    Bonjour,

    Je sèche un peu sur l'écriture d'une Query Builder incluant des datestime. En gros j'ai une Entité produit qui contient un champ nom et une date d'expiration de promotion. Dans ma requête, je voudrais afficher les produits dont la date d'expiration n'est pas encore atteinte. Mais aussi de proposer uniquement les promos de la semaine. Donc des 7 prochains jours.

    Du coup en cherchant, j'ai trouvé ceci qui marche bien. Le hic, c'est que cette query ne semble pas tenir compte de l'heure mais que des jours. En gros si ma date de fin de promo est le 14 aout 2020 à 00h30 et que nous sommes déjà le 14 aout 2020 à 00h46, la promo s'affiche quand même alors qu'elle est sensé être déjà expirée. Hors, je souhaiterais que dès que la date et l heure de fin de promo est dépassée, que le produit disparaisse de ma liste.

    J'ai vu sur des exemples avec SUBDATE() mais quand j'essaye de le mettre dans la Query j'ai plein d'erreurs. Si quelqu'un peut m'aider. Par avance merci !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     $date = date('Y-m-d h:i:s', strtotime("+7 days"));
     $now = date('Y-m-d h:i:s');
     
            $query = $this->createQueryBuilder('p')
                ->andWhere('p.fin_promo BETWEEN :today AND :n7days')
                ->setParameter(':today', $now)
                ->setParameter(':n7days', $date)
                ->orderBy('p.fin_promo', 'ASC')
                ->getQuery()

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    bonjour,
    doctrine manipule des dates de type DateTime de PHP.il est évident pour comparer des dates doctrine d'utiliser DateTime au lieu de la fonction date() surtout que cette dernière ne prends pas en compte les fuseaux horaires.

Discussions similaires

  1. [XL-2016] Calculer différence entre date + heure avec jours ouvrés
    Par MrUnderhill dans le forum Excel
    Réponses: 3
    Dernier message: 22/01/2019, 10h08
  2. Différence entre Date avec jDateChooser
    Par minedun6 dans le forum Débuter
    Réponses: 5
    Dernier message: 25/04/2013, 10h23
  3. [XL-2010] Calculer des différences avec regroupement de dates et heures
    Par Tilous dans le forum Excel
    Réponses: 11
    Dernier message: 17/04/2013, 11h07
  4. différence entre date ?
    Par jessy212 dans le forum Oracle
    Réponses: 9
    Dernier message: 30/09/2006, 08h16
  5. Réponses: 1
    Dernier message: 23/06/2006, 19h10

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