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.
    • 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