Così ho letto questo blog molto interessante sul lavoro con datetime in Azure DocumentDb. Il problema è che, al momento, Azure DocumentDb non supporta la ricerca di intervalli sui campi datetime. Il motivo è che DocumentDb è basato su json e che non ha un tipo data/ora, quindi solitamente lo inserisce in una stringa di formato datetime xml.DateTime, the Epoch and DocumentDb
(ovviamente Mongo non ha questo problema, è BSON formato aggiunge il tipo datetime (tra gli altri))
Comunque, l'articolo descrive la memorizzazione datetime in json in un'epoca (unix) tempo, essenzialmente memorizzazione della datetime come una quantità di secondi dal 01-01-1970. Un problema di epoca è che non tiene conto dei secondi bisestili, ma per ora posso conviverci.
La mia domanda è che mi piacerebbe anche memorizzare le date di nascita in tale formato. Ora potrei semplicemente prendere 01-01-1900 come data di inizio e memorizzare la quantità di giorni da quella data in un int. Mentre sono abbastanza sicuro che ciò funzionerebbe bene, sembra che l'epoca sia un concetto ben consolidato, ma quello dei compleanni è come se stessi costruendo le mie convenzioni, il che è una cosa che generalmente preferisco evitare.
Esiste uno standard stabilito per la standardizzazione della memorizzazione della data come numero? Quale data dovrebbe essere la data di riferimento?
Ho svalutato tutti i ricercatori perché erano tutti interessanti, ma questo ha risposto alla mia domanda in modo specifico. Grazie. –
sto salvando la data come in questo formato "2017-01-13T08: 00: 00 + 05: 30" dove manca la Z poiché sto mantenendo l'offset in formato +/-. Quando provo a interrogarlo da DocumentDb, viene convertito in timezone dove è in esecuzione il codice, quale potrebbe essere il motivo –
La mia raccomandazione è di memorizzarlo senza l'offset o con un offset di +00. Quindi convertirlo nel fuso orario corretto durante il rendering. –