Visualizzazione dei risultati da 1 a 10 su 11

Hybrid View

  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Il mio problema con l'orario è questo: un evento ha anche un ora di inizio e fine (sempre compreso nel timestamp), non solo il giorno.

    Gli eventi per il giorno vengono calcolati andando su una pagina web, qui viene recuperata data ed ora corrente che vengono usate dallo script che interroga il db alla ricerca degli eventi del giorno.

    Facciamola semplice e riferiamoci ad adesso 8/12/2013 13:50
    Per creare il timestamp devo per forza indicare un orario ed userei quello attuale, ma se ci fose un evento che inizia oggi alle 18:00 risulterebbe fuori dai criteri di ricerca e non verrebbe mostrato tra gli eventi di oggi... o mi sto impicciando tra le conversioni?

  2. #2
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Il mio problema con l'orario è questo: un evento ha anche un ora di inizio e fine (sempre compreso nel timestamp), non solo il giorno.

    Gli eventi per il giorno vengono calcolati andando su una pagina web, qui viene recuperata data ed ora corrente che vengono usate dallo script che interroga il db alla ricerca degli eventi del giorno.

    Facciamola semplice e riferiamoci ad adesso 8/12/2013 13:50
    Per creare il timestamp devo per forza indicare un orario ed userei quello attuale, ma se ci fose un evento che inizia oggi alle 18:00 risulterebbe fuori dai criteri di ricerca e non verrebbe mostrato tra gli eventi di oggi... o mi sto impicciando tra le conversioni?
    senza un orario viene considerato come 00:00:00 e quindi nel tuo caso citato adesso 8/12/2013 00:00:00

    effettivamente in caso di comparazione gli eventi di quel giorno sarebbero minori di 8/12/2013 13:50:00 e verrebbero esclusi

    Metti nella data anche ora:min:sec dell'ultimo secondo del giorno e tutto torna, e trascura ora:sec del web.

    $tua_data = mktime(23, 59, 59, 12, 8, 2013);

    con sql (di mysql)

    $data = '8/12/2013 23:59:59';

    where unix_timestamp(str_to_date($data, '%d/%m/%Y %h:%i:%s')) between data_inizio and data_fine

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

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Quote Originariamente inviata da piero.mac Visualizza il messaggio
    ...
    Metti nella data anche ora:min:sec dell'ultimo secondo del giorno e tutto torna, e trascura ora:sec del web.
    ...
    No, perché se l'evento del 8/12/2013 inizia alle 18:00 e finisce lo stesso giorno alle 22:00 (per dire), anche in quel caso lì risulta fuori se considero 8/12/2013 23:59:59 come data da confrontare.

  4. #4
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    No, perché se l'evento del 8/12/2013 inizia alle 18:00 e finisce lo stesso giorno alle 22:00 (per dire), anche in quel caso lì risulta fuori se considero 8/12/2013 23:59:59 come data da confrontare.
    E allora confronta solo il giorno.

    Se quello che conta e' che l'evento si sia svolto del tutto/iniziato/finito in quel dato giorno non ha senso confrontare le ore.

    where str_to_date('8/12/2013', '%d/%m/%Y') between FROM_UNIXTIME(data_inizio, '%Y-%m-%d') and FROM_UNIXTIME(data_fine, '%Y-%m-%d')

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

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.