Visualizzazione dei risultati da 1 a 7 su 7

Discussione: confronto fra date

  1. #1

    confronto fra date

    ciao ragazzi,
    avrei bisogno di eseguire un confronto fra 2 date in php. ho cercato nella documentazione ma non ho trovato una funzione di questo tipo.

    sapete se esiste o devo scrivermela usando i campi year, month e day?

    vorrei fare una cosa del tipo:

    if(data1$<data1$)
    {
    ...
    }
    else
    {
    ...
    }

    grazie

  2. #2
    Se non erro una funzione del genere non esiste però te la puoi crare tu facendo un explode della data e di seguito ti fai il confronto con giorno mese e anno.
    Esempio

    codice:
    $data="24/09/2004";
    $datac="20/01/2003";
    functin confronto_data(){
    global $data,$datac;
    $data=explode("/",$data);
    $giorno=$data[0];
    $mese=$data[1];
    $anno=$data[2];
    $datac=explode("/",$datac);
    $giornoc=$datac[0];
    $mesec=$datac[1];
    $annoc=$datac[2];
    if($girono>$giornoc & $mese>$mesec & $anno>$annoc){
    
    
    }else{
    
    
    
    }

  3. #3
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    usa maketime, porta le date in unixtime e le confronti

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Originariamente inviato da carmineabomb
    Se non erro una funzione del genere non esiste però te la puoi crare tu facendo un explode della data e di seguito ti fai il confronto con giorno mese e anno.
    Esempio

    codice:
    $data="24/09/2004";
    $datac="20/01/2003";
    functin confronto_data(){
    global $data,$datac;
    $data=explode("/",$data);
    $giorno=$data[0];
    $mese=$data[1];
    $anno=$data[2];
    $datac=explode("/",$datac);
    $giornoc=$datac[0];
    $mesec=$datac[1];
    $annoc=$datac[2];
    if($girono>$giornoc & $mese>$mesec & $anno>$annoc){
    
    
    }else{
    
    
    
    }
    Con il tuo esempio il 10/02/2004 non è superiore al 11/02/2003.

    Due date possono essere confrontate solo se hanno un formato ssaammgg.

  5. #5
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    io farei così, partendo dall'esempio di carmineabomb...modifica l'if in questo modo
    if (mktime(0,0,0,$mese,$giorno,$anno) > mktime(0,0,0,$mesec,$giornoc,$annoc)
    {
    ...
    }
    else
    {
    ...
    }

  6. #6
    Originariamente inviato da badaze
    Con il tuo esempio il 10/02/2004 non è superiore al 11/02/2003.

    Due date possono essere confrontate solo se hanno un formato ssaammgg.
    quind così dovrebbe andare?
    codice:
    function test($start, $end) {
          list($day, $month, $year) = explode("/", $start);
          $start = $year.$month.$day;
          list($day, $month, $year) = explode("/", $end);
          $end = $year.$month.$day;
          return $end > $start ? true : false;
    }
    
    $data_start = "11/02/2003";
    $data_end = "10/02/2004";
    echo $data_end.(test($data_start, $data_end) ? " > " : " <= ").$data_start;
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Originariamente inviato da boomboom69
    quind così dovrebbe andare?
    codice:
    function test($start, $end) {
          list($day, $month, $year) = explode("/", $start);
          $start = $year.$month.$day;
          list($day, $month, $year) = explode("/", $end);
          $end = $year.$month.$day;
          return $end > $start ? true : false;
    }
    
    $data_start = "11/02/2003";
    $data_end = "10/02/2004";
    echo $data_end.(test($data_start, $data_end) ? " > " : " <= ").$data_start;
    In effetti. Comunque trovo strano che non ci sia una funzione !!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.