È un giorno veramente lungo 24 ore? [chiuso]

7

Ho posto questa domanda su Stack Overflow ed è stato chiuso come off-topic. Lo chiederò qui sperando che funzionerà meglio.

Questo potrebbe sembrare sciocco, ma resisti con me. Ho lavorato molto con intervalli e date ultimamente. Una domanda che mi disturba: è un giorno davvero lungo 24 ore? Mi interessa la risposta sia dal punto di vista teorico che pratico.

Prendiamo ad esempio oggi, la giornata è iniziata il 13 dicembre 2012 alle 00:00:00 e secondo (tutte) le implementazioni di data e ora termineranno il 14 dicembre 2012 alle 00:00:00. Questo è corretto e la differenza tra le due date è di 24 ore complete.

Il problema con questo è che la data di fine è percepita come "domani". La maggior parte delle persone pensa che un giorno inizi alle 00:00:00 e termina alle 23:59:59.

Quindi la domanda è: è oggi un intervallo chiuso all'inizio e aperto alla fine, come [start..end), con la fine molto vicina al 14 dic 2012 00:00:00 (quindi non davvero un completo 24 ore)? O è effettivamente chiuso alle due estremità con un totale di 24 ore tra loro?

    
posta Radu Potop 29.12.2012 - 13:18
fonte

2 risposte

15

Ovviamente è un intervallo aperto / chiuso. In quale altro modo si desidera creare un intervallo continuo di tutti i giorni ed essere ancora in grado di tenere conto di mili / microsecondi?

Ed è ovviamente lunga 24 ore. Quel secondo singolo tra 23:59:59 e 00:00:00 conta ancora.

    
risposta data 29.12.2012 - 14:09
fonte
13

Let's take today for example, the day started on 13 Dec 2012 00:00:00 and according to (all) date-time implementations it will end on 14 Dec 2012 00:00:00

No. Per convenzione, la giornata inizia alle 00:00:00 e termina alle 23:59:59 (bene 23: 59: 59.999 se si scende ai millisecondi). Il tempo è continuo, ma dobbiamo rappresentarlo con valori discreti (non importa quanto "accurati" possano essere quei valori) e poiché nessuna ora (00:00:00, ad esempio) può esistere in più di un periodo di 24 ore, noi giungere ad un accordo su dove si trova quel confine.

Quindi è lungo 24 ore in quanto ci sono 24 * 60 * 60 secondi in questo intervallo.

Ci sono tre occasioni in cui questo non è vero:

  1. Quando gli orologi vanno avanti per l'ora legale, nel qual caso quel giorno è di 23 ore (si perde un'ora).
  2. Quando gli orologi tornano per la fine dell'ora legale, nel qual caso quel giorno dura 25 ore (si ripete un'ora).
  3. Quando un secondo intercalare viene aggiunto a un giorno per riportare il tempo in sincrono con il giorno solare, nel qual caso quel giorno è 24 ore 0 minuti e 1 secondo lungo.

Se è più facile pensare al giorno che inizia alle 00:00:01 e termina alle 24:00:00. Questo è più ovviamente 24 ore.

    
risposta data 29.12.2012 - 13:21
fonte

Leggi altre domande sui tag