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. Date di nascita
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • A
      andreadb User Newbie • ultima modifica di

      Date di nascita

      Salve a tutti!
      Cosa mi consigliate per gestire le date di nascita? Il timestamp non è idoneo perchè gestisce date dal 1970.
      Grazie
      Andrea

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • O
        olaola User Attivo • ultima modifica di

        dalla pagina di "date" nella guida php

        **Nota: ** Il valido intervallo del timestamp è abitualmente da Fri, 13 Dec 1901 20:45:54 GMT a Tue, 19 Jan 2038 03:14:07 GMT. (Queste date corrispondono al valore minimo e al massimo per un intero segnato a 32-bit.)

        http://it2.php.net/date

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • A
          andreadb User Newbie • ultima modifica di

          Ti ringrazio della risposta.
          Il problema è che con le date in formato unix se utilizzo una data anteriore al 1970 da questo errore
          > Warning: mktime(): Windows does not support negative values for this function
          che è logico perchè il timestamp di una data precedente al 1970 restituisce -1

          Infatti sulla stessa guida che hai citato c'è anche scritto

          However, before PHP 5.1.0 this range was limited from 01-01-1970 to 19-01-2038 on some sistem (e.g. Windows).

          Non esiste un sistema diverso per la gestione delle date?
          Grazie

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • A
            andreadb User Newbie • ultima modifica di

            Ho risolto aggiornando la versione del PHP 😄

            Però sono curioso di sapere se esiste comunque un altro modo per gestire le date, che non sia il formato unix.
            Thanks!

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • T
              tarini User • ultima modifica di

              non ha senso usare un timestamp per le date di nascita... che ti frega di salvare ore,minuti,secondi???

              non puoi usare un campo DATE normale?? tanto mica devi fare calcoli particolari con queste date...

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • A
                andreadb User Newbie • ultima modifica di

                vista la versalità del timestamp, può essere utile per controllare con estrema facilità l'esattezza della data...

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • C
                  comanche User Newbie • ultima modifica di

                  Io credo che dovresti creartelo da te un sistema per la gestione delle date.
                  Il formato date non è compatibile con tutti i DBMS.
                  Io le memorizzo come AAAAMMGG, ho scritto un paio di funzioncine per la conversione da DB a browser e viceversa, un paio per il controllo della validità ed il gioco è fatto.

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • A
                    andreadb User Newbie • ultima modifica di

                    Grazie del consiglio comanche.
                    Se ti va potresti postare le funzioni di cui parli?
                    Thanks

                    Andrea

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • C
                      comanche User Newbie • ultima modifica di

                      Queste sono alcune:

                      [php]// conversione di una data dal formato AAAAMMGG nel formato GG/MM/AAAA
                      function convData($data) {
                      $dataconv="";
                      if (!empty($data)) {
                      $anno=substr($data,0,4);
                      $mese=substr($data,4,2);
                      $giorno=substr($data,6,2);
                      $dataconv=$giorno."/".$mese."/".$anno;
                      }
                      return $dataconv;
                      }

                      // conversione di una data dal formato GG/MM/AAAA nel formato AAAAMMGG
                      function convDataDb($data) {
                      $dataconv="";
                      if (!empty($data)) {
                      $anno=substr($data,6,4);
                      $mese=substr($data,3,2);
                      $giorno=substr($data,0,2);
                      $dataconv=$anno.$mese.$giorno;
                      if (!(checkdate($mese,$giorno,$anno)))
                      return false;
                      } else
                      return false;
                      return $dataconv;
                      }

                      //passare l'argomento data gia formattato
                      function ctrData($data){
                      if (!is_numeric($data))
                      return false;
                      if (!checkdate(substr($data,2,2),substr($data,4,2),substr($data,0,2)))
                      return false;
                      else
                      return true;
                      }

                      function dataZero() {
                      return "00000000";
                      }

                      function dataOggi() {
                      return date("Ymd");
                      }
                      [/php]ma non prendere per oro colato quello che dico, può essere che gli altri approcci sono migliori...
                      ciao :ciauz:

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • F
                        fra.t User Attivo • ultima modifica di

                        Usare un formato standard di mysql (timestamp, date,...) garantisce maggiore versatilità.

                        Non c'è bisogno di PHP per formattare o fare calcoli con le date, basta la query giusta.

                        Ad esempio, per formattare una data: http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format

                        Per calcolare l'età? http://dev.mysql.com/doc/refman/5.1/en/date-calculations.html

                        Nel tuo caso il formato più adatto penso sia date 🙂

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • A
                          andreadb User Newbie • ultima modifica di

                          Ok, grazie a tutti per i consigli.
                          Ho adottato il timestamp... in effetti è più semplice e versatile da utilizzare.

                          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