Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it L'avatar di the-bit
    Registrato dal
    Feb 2005
    Messaggi
    543

    esiste una timestamp senza orario?

    Buona sera a tutti,
    vorrei sapere come fare a fare dei calcoli tra timestamp considerando solo giorno, mese e anno senza considerare anche l'orario.
    In pratica, siccome la timestamp include anche l'orario, se io inserisco degli eventi in un db lo stesso giorno, avrò sempre timestamp diverse.
    La mia domanda è, quindi, qual è il modo più semplice per tramutare in codice "seleziona tutti i campi che hanno timestamp uguale" relativamente a giorno mese e anno?

    Grazie.
    "To iterate is human, to recurse, divine." (R.(Heller))

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Puoi formattare il timestamp come vuoi usando la funzione date()

  3. #3
    Utente di HTML.it L'avatar di the-bit
    Registrato dal
    Feb 2005
    Messaggi
    543
    Potresti farmi, per favore, un esempio?
    Quello che vorrei fare io è un'istruzione che permetta di cercare in più tabelle di un DB tutti i campi che hanno una determinata timestamp (in questo caso un determinato giorno), ma - come detto prima - visto che la timestamp include anche ora minuti e secondi non troverò mai una timestamp uguale in questo modo.
    "To iterate is human, to recurse, divine." (R.(Heller))

  4. #4
    utilizza il timestamp impostando sempre lo stesso orario 00:00:00
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Codice PHP:
    $timestamp time();
    echo 
    $timestamp."
    "
    //stampa il timestamp corrente, ad esempio 1325257673

    $data date('d/m/Y',$timestamp);
    echo 
    $data//dato il timestamp precedente, stampa 30/12/2011 

  6. #6
    Originariamente inviato da the-bit
    Potresti farmi, per favore, un esempio?
    Quello che vorrei fare io è un'istruzione che permetta di cercare in più tabelle di un DB tutti i campi che hanno una determinata timestamp (in questo caso un determinato giorno), ma - come detto prima - visto che la timestamp include anche ora minuti e secondi non troverò mai una timestamp uguale in questo modo.
    Non precisi se il timestamp e' unix oppure quello di mysql. Ad ogni modo se unix:
    codice:
    select *
    from tabella 
    where FROM_UNIXTIME(campo_timestamp,'%d-%m-%Y') = 'dd-mm-yyyy'
    se timestamp mysql (yyyy-mm-dd hh:mm:ss)

    codice:
    select *
    from tabella 
    where date_format(campo_timestamp,'%d-%m-%Y') = 'dd-mm-yyyy'
    @edit

    comunque se ti serve solo la data utilizza un campo DATE invece di DATETIME o TIMESTAMP

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it L'avatar di the-bit
    Registrato dal
    Feb 2005
    Messaggi
    543
    Utilizzavo time().
    Ma alla fine ho risolto eliminando l'orario dal time() con un mktime.
    Per ora funziona.
    Ad ogni modo, grazie.
    "To iterate is human, to recurse, divine." (R.(Heller))

  8. #8
    Utente di HTML.it L'avatar di the-bit
    Registrato dal
    Feb 2005
    Messaggi
    543
    Rieccomi perchè, anche se ho risolto un problema, me n'è comparso un altro.
    Quello che sto facendo è una semplice ricerca per giorno, mese e anno.
    Ma, come detto prima, il campo "data" che ho nel mio DB è di tipo timestamp, purificato poi con mktime in modo da avere una data senza ora,minuti e secondi.
    dovendo fare dei confronti con una timestamp passata ed una timestamp presente nel DB come faccio, senza dover estrarre ogni riga del db e scomporla in anno, mese e giorno (questo comporterebbe un'enorme quantità di tempo se si ha a che fare con una tabella avente molti campi) come mi consigliate di agire?
    "To iterate is human, to recurse, divine." (R.(Heller))

  9. #9
    Usa un campo date nel database...
    secondo me è la soluzione migliore per gestire date ed ore con mysql...
    Ciao!

  10. #10
    Utente di HTML.it L'avatar di the-bit
    Registrato dal
    Feb 2005
    Messaggi
    543
    Avevo pensato questa soluzione, ma per ora ho necessità di lavorare con timestamp.
    Pensavo di utilizzare FROM_UNIXTIME(campo_data,'%m') AS mese
    per estrarre il mese dal DB e compararlo col mese precedentemente estratto (via php).
    Ma non funziona, forse perchè non so bene come si usa questa funzione mysql.
    "To iterate is human, to recurse, divine." (R.(Heller))

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 © 2026 vBulletin Solutions, Inc. All rights reserved.