Domanda

Va ??bene, questa potrebbe essere una domanda semplice, ma devo ancora venire con una soluzione funzionante, quindi a chiunque possa aiutare grazie in anticipo.

Prendi in considerazione il seguente scenario: Abbiamo un'applicazione Web in esecuzione su MySQL (se devi sapere) che dipende dal tempo, ad esempio un'applicazione che invia un'e-mail all'ora specificata dall'utente. Ora ogni utente ha impostato il proprio fuso orario / città e i server sono in esecuzione su UTC per semplicità. L'ora esatta sarebbe l'ora del server + fuso orario + ora legale. L'utente desidera che l'e-mail lo raggiunga il 4 gennaio 2010 alle 17:00, ora sua. La mia domanda sarebbe: come ottenere l'ora legale corretta? Il significato è questo utente in una regione che osserva l'ora legale se lo ha osservato o no?

Il mio primo impulso sarebbe quello di trovare un servizio web che, dato l'attuale fuso orario / città, ti darebbe l'ora legale corretta. Finora non ne ho trovato uno. Sono scoraggiato dalla seconda idea, che devo stabilire regole per l'ora legale poiché questi cambiano di anno in anno e in alcuni paesi di più di un giorno o due.

Qualsiasi aiuto è stato molto apprezzato.

È stato utile?

Soluzione

Se il tuo linguaggio di programmazione non supporta la logica del fuso orario, non devi programmare le regole da solo. Devi solo programmare il supporto per il zoneinfo .

Altri suggerimenti

Salva le tue date come secondi dal 1 gennaio 1970 GMT nel tuo database e avrai sempre a che fare con il tempo. Quando l'utente inserisce il suo orario, convertilo in modo appropriato utilizzando le impostazioni corrette del fuso orario e il gioco è fatto.

I tuoi server sono già in esecuzione senza fusi orari, quindi quando arriva il momento è una selezione facile.

Ecco del codice per eseguire la conversione del fuso orario in LISP:

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top