Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    605

    Controllo su data e ora

    Ciao a tutti ho una dataFine che prendo da mysql in formato DATE, devo controllare se sono passate le 16 di quella data fine.

    qualche suggerimento?

    grazie e buon ferragosto.

    ciao

  2. #2
    Codice PHP:
    //Il campo del DB presumo sia in formato aaaa-mm-gg
    $data "2016-08-16";
    //Divido gli elementi della data
    $exp_data explode("-"$data);
    //Trovo il timestamp della data alla mezzanotte
    $ts_data mktime("00""00""00"$exp_data[1], $exp_data[2], $exp_data[0]);
    //Divido gli elementi della data attuale
    $exp_data_oggi explode("-"date("m-d-Y-H-i-s"));
    //Trovo il timestamp della data attuale
    $ts_attuale mktime($exp_data_oggi[3], $exp_data_oggi[4], $exp_data_oggi[5], $exp_data_oggi[0], $exp_data_oggi[1], $exp_data_oggi[2]);
    //Se sono passati 57600 secondi (16 ore)
    if(($ts_attuale $ts_data) > 57600)
    {    
        print 
    "Tempo scaduto";


  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2015
    residenza
    TORINO
    Messaggi
    37
    Usando l'oggetto DateTime e DateInterval:
    codice:
    $dataMysql = '2016-08-26';
    $format = 'Y-m-d';
    $datetime1 = DateTime::createFromFormat($format, $dataMysql);
    
    $datetime2 = new DateTime();
    
    $interval = $datetime2->diff($datetime1);
    var_dump($interval);
    
    
    //Ecco l'uscita dell'oggetto $interval
    object(DateInterval)[64]
      public 'y' => int 0
      public 'm' => int 0
      public 'd' => int 0
      public 'h' => int 11
      public 'i' => int 1
      public 's' => int 2
      public 'weekday' => int 0
      public 'weekday_behavior' => int 0
      public 'first_last_day_of' => int 0
      public 'invert' => int 1
      public 'days' => int 0
      public 'special_type' => int 0
      public 'special_amount' => int 0
      public 'have_weekday_relative' => int 0
      public 'have_special_relative' => int 0
    Con l'oggetto DateInterval puoi sapere quanti anni, mesi, giorni,ore, minuti e secondi sono passati tra due date.
    Tieni conto che l'esempio dà per scontato che il fuso orario sia lo stesso!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.