Visualizzazione dei risultati da 1 a 5 su 5

Discussione: php somma tra date

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    245

    php somma tra date

    ho 1 data nel seguente formato:
    $Data="2007-02-19 09:09:28";
    come faccio ad agguingere 180 secondi?

  2. #2
    Devi prima trasformare la stringa in un time stamp; per farlo devi isolare i singoli elementi da passare alla funzione mktime(), ovvero ore - minuti - secondi - mese - giorno - anno.
    Se la forma della data che hai postato (2007-02-19 09:09:28) è standard, cioè fissa all'interno dei tuoi script / campi del database, allora puoi parsarla con explode:
    Codice PHP:
    $Data "2007-02-19 09:09:28";
    $Data explode(" "$Data);
    $date_1 $Data[0];
    $date_1 explode("-"$date_1);

    $date_2 $Data[1];
    $date_2 explode(":"$date_2);

    $day $date_1[2];
    $month $date_1[1];
    $year $date_1[0];

    $hour $date_2[0];
    $minutes $date_2[1];
    $seconds $date_2[2];

    // Il timestamp della data in oggetto:
    $timestamp mktime($hour$minutes$seconds$month$day$year);

    // Il risultato che volevi ottenere:
    $timestamp += 180
    Emanuele DG
    <?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
    Intellectual property

  3. #3
    solo per fare il pignolo suggerirei di riparmiare qualche riga di codice con list :

    codice:
    $Data = "2007-02-19 09:09:28";
    list($year, $month, $day, $hous, $minutes, $seconds) = split('[- :]', $Data)); 
    // Il timestamp della data in oggetto: 
    $timestamp = mktime($hour, $minutes, $seconds, $month, $day, $year); 
    
    // Il risultato che volevi ottenere: 
    $timestamp += 180;
    Manuel

    View my profile on LinkedIn
    Ubertini: amo solo te!

  4. #4
    Originariamente inviato da Manuel.s
    solo per fare il pignolo suggerirei di riparmiare qualche riga di codice con list :
    ...
    Suggerimenti del genere sono assolutamente bene accetti. Non conoscevo ancora split().
    Emanuele DG
    <?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
    Intellectual property

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Codice PHP:
    echo date('Y-m-d H:i:s',strtotime("$Data + 180 second")); 

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.