Visualizzazione risultati 1 fino 11 di 11

Discussione: Uso della DATA e formatazione data

  1. #1
    Guest

    Predefinito Uso della DATA e formatazione data

    ciao gente.
    ho un piccolo problema.
    non riesco a formattare la data in modo valido!
    ho un campo nel database che non so che tipo debba avere.
    l'utente da un menu a discesa seleziona giorno mese ed anno.
    il formato è:

    $data = $_POST['giorno']."/".$_POST['mese']."/".$_POST['annno']

    fatto ciò, che devo fare per inserire la data nel formato date() giusto all'interno del DB?
    al prelievo ed alla visualizzazione faccio:
    $data_new = date("d/m/Y",$row['data']);

    mi aiutate pls?
    grazie.

  2. #2
    Guest

    Predefinito

    Ti conviene dare un occhiata all'utilizzo dei timestamp, insieme alle funzioni

    http://it2.php.net/manual/it/function.mktime.php
    http://it2.php.net/manual/it/function.time.php


    mavericck

  3. #3
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Io ho il problema contrario: se uso un TIMESTAMP per archiviare date e ore nel DB, quando si tratta di stamparle "così com'è" ne esce una stringa del tipo "20060510112135". Credo di aver capito che con la funzione date() dovrei essere capace di ottenere una stringa corretta tipo "10/05/2006, 11:21:35", ma viene richiesto lo Unix Timestamp come parametro della funzione...

    È quello della prima stringa stampata? O c'è un modo di ottenerlo da tale valore?

    Statemi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da dementialsite
    Io ho il problema contrario: se uso un TIMESTAMP per archiviare date e ore nel DB, quando si tratta di stamparle "così com'è" ne esce una stringa del tipo "20060510112135". Credo di aver capito che con la funzione date() dovrei essere capace di ottenere una stringa corretta tipo "10/05/2006, 11:21:35", ma viene richiesto lo Unix Timestamp come parametro della funzione...

    È quello della prima stringa stampata? O c'è un modo di ottenerlo da tale valore?

    Statemi bene...
    L'Unix Timestamp non è quello che esce a te. Potresti però utilizzare questo script per trovare l'Unix Timestamp di quel Timestamp:
    Codice PHP:
    $unix_timestamp=mktime(substr($timestamp,8,2),substr($timestamp,10,2),substr($timestamp,12,2),substr($timestamp,4,2),substr($timestamp,6,2),substr($timestamp,0,4));
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    come detto da funcool 20060510112135 non è un timestamp, bensì una data senza punteggiature ne spazi. A monte, quando inserisci date nel db, devi solo inserire l'output di time() (o calcoli su di esso).

    mavericck

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da mavericckweb
    Ti conviene dare un occhiata all'utilizzo dei timestamp, insieme alle funzioni

    http://it2.php.net/manual/it/function.mktime.php
    http://it2.php.net/manual/it/function.time.php


    mavericck
    scusate, ma se chiedo evidentemente non ne sono venuto a capo già da solo no? :D

    php.net è nei miei preferiti e,senza offesa per nessuno, è il primo posto dove vado a gruadre, solo che non riesco a capire il metdo operativo...
    io ho una stringa in formato 00/00/000
    poi che ci devo fare?
    1) come la devo inserire nel DB?
    2) che formato deve avere il campo del DB?
    3) come la ricavo fuori dal campo?

    grazie

  7. #7
    Guest

    Predefinito

    crei un campo INT nel database.
    Inserisci l'output di time() nel campo.
    per mostrare la data: date('FORMATO', $row['timestamp'])
    Inserisci il formato che vuoi, e la variabile $row['timestamp'] è l'output del campo del database.

  8. #8
    Guest

    Predefinito

    come già detto non mi serve TIME, ma una data impostata meccanicamente da un utente.

    ho perciò provato così:
    Codice PHP:
    $data = mktime(0,0,0,$_POST['mese'],$_POST['giorno'],$_POST['anno']);
    e nella pagina che deve ricavare l'informazione dal campo "data" INT(10), del DB:
    Codice PHP:
    $data = date("d/m/Y",$row['data']);
    ma ottengo sempre e solo 01/01/1970 :(

  9. #9
    Guest

    Predefinito

    prova a far un echo della variabile $row['data'], e vedi se ti stampa qualcosa.
    altrimenti posta tutto il codice qui.

  10. #10
    Guest

    Predefinito

    ora non capisco cosa sia cmabiato, ma funziona bene.
    riesco anche a fare l'ordinamento per data, che era la cosa piu importante..
    mah.

    grazie cmq per l'aiuto. su un sitoa vevo trovato la cosa fondamentlae del mktime() che mi ha dato un buon punto per la risoluzione.

    ciao ciao.

  11. #11
    Guest

    Predefinito

    bene, chiudo!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •