sql >> Database >  >> RDS >> Mysql

Opslaan van specifieke datum-/tijdwaarden voor gebruikers in verschillende tijdzones

Aangezien je het hebt over het plannen van toekomstige tijd, opslaan alleen UTC is niet per se de beste aanpak.

Houd er rekening mee dat tijdzoneregels kunnen (en zullen) veranderen. Als u een update toepast op uw tijdzonegegevens (in PHP wordt dit gedaan met PECL's timezonedb pakket), dan zijn alle gegevens die u al naar UTC heeft omgezet mogelijk ongeldig.

De betere oplossing is om meerdere waarden op te slaan:

  • De originele lokale datum en tijd

  • De oorspronkelijke tijdzone (bijv. "America/New_York" )

  • De UTC-datum en -tijd, omgezet van de lokale waarden

Als u wilt zien of het tijd is om de taak uit te voeren, vergelijkt u de huidige UTC-datum en -tijd met de opgeslagen UTC-waarde.

Wanneer u tijdzone-updates toepast, gooit u de eerder geconverteerde UTC-waarden weg voor alle toekomstige vermeldingen en herberekent u nieuwe op basis van de bijgewerkte gegevens.

Als u dit niet doet, verliest u de oorspronkelijke bedoeling van de gebruiker. En als u uw tijdzonegegevens niet up-to-date houdt, zal uw systeem niet op de hoogte zijn van verschillende veranderingen die over de hele wereld plaatsvinden, zoals de wijzigingen die eerder dit jaar in Egypte zijn aangebracht of de wijzigingen die in oktober komen voor Rusland.

Laatste punt - Indien correct geïmplementeerd, zou de tijdzone van uw server er niet toe moeten doen. Vergelijk UTC met UTC.




  1. mysql Ongeldig aantal kolommen in CSV-invoer tijdens het importeren van csv-bestand

  2. Waarom is de gegeven syntaxis geldig in mysql?

  3. Hoe maak je een postgres-extensie in de container?

  4. Сeen virtuele machine maken met Oracle VM Virtual Box