Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Sommare secondi ad un datetime
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • J
      jeangr User Newbie • 18 lug 2006, 12:24 ultima modifica di

      Sommare secondi ad un datetime

      Ho il mio datetime cosi: "2006/06/06 17:53:01"
      e vorrei sommare i secondi ....

      se faccio "2006/06/06 17:53:01" + 2 per esemio, mi ritorna "2006/06/06 17:53:12" !!!!

      come posso fare?

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
        Caricamento altri post
        Rispondi
        • Topic risposta
        Effettua l'accesso per rispondere
        • Da Vecchi a Nuovi
        • Da Nuovi a Vecchi
        • Più Voti
         

      • P
        pater Super User • 18 lug 2006, 21:10 ultima modifica di

        @jeangr said:

        Ho il mio datetime cosi: "2006/06/06 17:53:01"
        e vorrei sommare i secondi ....

        se faccio "2006/06/06 17:53:01" + 2 per esemio, mi ritorna "2006/06/06 17:53:12" !!!!

        come posso fare?
        Come tratti la data? se usi il timestamp, ti basta il + 2.

        Se la tratti come testo è impossibile pensare che "2006/06/06 17:53:01" + 2 funzioni...

        Comunque sia, nel database è sempre meglio tenere la data con il timestamp, molto versatile. Quindi... Se proprio devi fare in quel modo...

        
        preg_match("#^(.+):(.+)$#", $data, $result); // cerco i secondi
        preg_replace("#^(.+):(.+)$#", "#$1:".$result[2][0]."#", $data);
        
        

        Scritto on-the-fly quindi probabilmente non funge... Vedi un pò tu

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • T
          tuonorosso Super User • 19 lug 2006, 06:25 ultima modifica di

          e per sommare giorni ad un date? Avete qualche script sottomano? 😄

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • T
            tymba Super User • 19 lug 2006, 07:53 ultima modifica di

            Ciao Tuono,
            il timestamp è un numero fatto di secondi quindi se vuoi aggiungere un minuto aggiungi nMinuti * 60;
            per le ore nOre * 60 * 60
            per i giorni nGiorni * 60 * 60 * 24
            e via dicendo 😄

            maggiori info:
            [url=http://it.php.net/manual/it/function.time.php]PHP: time - Manual

            buon divertimento

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • T
              tuonorosso Super User • 19 lug 2006, 08:24 ultima modifica di

              non parlavo di timestamp 😉 ma di campo date fatto tipo 2006-07-19
              Un algoritmo che somma 87 giorni e mi restituisce la data ce l'avete sottomano? Altrimenti mi metto a scriverlo 😄

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • J
                jeangr User Newbie • 19 lug 2006, 08:31 ultima modifica di

                io alla fine ho fatto così

                select nome_campo_datetime + interval 2 second from tabella

                dove 2 sono i secondi che volevo sommare alla mia datatime....
                inolte fa i calcoli giusti,nel senso che se sommo 99999999 secondi mi va avanti con gli anni e tutto il resto!

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • C
                  chalda User • 19 lug 2006, 16:26 ultima modifica di

                  Ecco come aggiungere giorni XXX ad una data testuale
                  e ritornare ancora una data testuale...

                  [php]
                  $data="01/01/1979"; // Metto formato europeo, ma il procedimento è lo stesso...
                  list($giorno,$mese,$anno)=explode("/",$data); // ... ovviamente qui cambi...

                  $time_nuovo=mktime(0,0,0,$mese,$giorno+XXX,$anno);
                  $data_nuova=date("d/m/Y",$time nuovo); //.. e anche qui 😄
                  [/php]

                  Al volo ma dovrebbe fungere 😄

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • T
                    tymba Super User • 20 lug 2006, 19:23 ultima modifica di

                    @tuono:

                    quindi non devi fare il lavoro con php ma in una select? non riesco a capire quello che ti serve.

                    in ogni caso se il db è mysql (con gli altri è da provare) esiste questa funzione:

                    DATE_ADD(date,INTERVAL expr unit), DATE_SUB(date,INTERVAL expr unit)

                    per maggiori info:
                    [url=http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html]MySQL 5.0 Reference Manual :: 12.5 Date and Time Functions

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • T
                      tuonorosso Super User • 20 lug 2006, 20:33 ultima modifica di

                      Ciao Tymba,
                      faccio prima a spiegarti quello che devo fare così magari mi dai anche qualche consiglio.

                      In sostanza devo gestire degli appuntamenti periodici.
                      L'utente mi dice il giorno 20/07/2006 e ogni 15 giorni.
                      Poi esiste una ricerca per data, e se uno mi ricerca gli appuntamenti del giorno 19/08/2006 mi deve uscire quell'appuntamento.

                      Come gestiresti la cosa? Io in fase di input per ora salvo la data e ogni quanti giorni si ripete.

                      Ciao! 😄

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      Caricamento altri post
                      Rispondi
                      • Topic risposta
                      Effettua l'accesso per rispondere
                      • Da Vecchi a Nuovi
                      • Da Nuovi a Vecchi
                      • Più Voti