Abbiamo un'applicazione ASP.NET che consente agli utenti di creare report sui propri dati. Abbiamo un numero di rapporti che l'utente seleziona la data di inizio e di fine da un datepicker e quindi abbiamo restituito il risultato filtrato.
Per impostazione predefinita, l'ora dal datepicker è 00:00:00
Nel tradurre la query per il database, abbiamo sempre chiesto in questo modo:
WHERE Date >= @DateMin and Date < @DateMax
Quindi, se gli sviluppatori volessero restituire un valore di dati di un mese (come giugno) sceglieremmo naturalmente il 1 ° giugno come data di inizio e il 1 ° luglio come data di fine. E 'solo guardando alcuni utenti che lavorano che ci siamo resi conto che avrebbero cercato per un valore di mesi i dati utilizzando il 1 ° giugno e il 30 giugno come date di inizio / fine. Quindi perdere il valore di un'intera giornata di dati dal loro rapporto.
Ho cercato di scoprire se ci sono delle best practice per gestire il tempo in cui un utente seleziona solo la data. Dovremmo impostare l'ora di fine predefinita alle 23:59:59? È questo che fanno gli altri prodotti?
Segnalare i dati e consentire agli utenti di selezionare l'intervallo di date sembra un evento comune che mi sorprende che le mie ricerche su Internet non abbiano restituito nulla. Quindi, come è meglio gestire la porzione temporale quando un utente seleziona un intervallo di date?