sql >> Database >  >> RDS >> Sqlserver

Elke datumtijd omzetten van servertijd naar gebruikerstijd (omgaan met standaard- en daglichttijd)

TimeZoneInfo doet, ja. (Het maakt deel uit van het .NET-framework, geen onderdeel van C# - C# is gewoon de taal die je toevallig gebruikt.) Ik denk echter niet dat je dat echt wilt doen.

Waarom bewaar je de DateTime in de server tijdzone toch? Het zou in de meeste gevallen verstandiger zijn om het in UTC op te slaan. Afgezien van al het andere, als uw server zich in een tijdzone bevindt die zomertijd in acht neemt, krijgt u een uur per jaar onduidelijkheid, wanneer de klok teruggaat. (Dezelfde lokale tijd komt twee keer voor.)

Als je het eenmaal als UTC hebt opgeslagen, moet je het ook als UTC aan je Javascript-client geven. Terwijl je zegt dat je "een java-script hebt waarmee ik de gebruikers van UTC kan compenseren" - dat hangt af van het exacte moment in de tijd. Omdat ik bijvoorbeeld in het VK ben, is mijn offset soms 0 en soms +1 uur. Als u de UTC teruggeeft aan de client, kan dat de lokale tijd vanaf die UTC-tijd bepalen. Uw server kan dat niet, tenzij u een nauwkeurige . kunt krijgen weergave van de tijdzone van de client naar de server, wat over het algemeen lastig is om te doen.

Nogmaals, C# zelf is hier niet relevant. Het is niet duidelijk welk deel van het .NET-framework je bedoelt - TimeZone ? TimeZoneInfo ? DateTime ? TimeZoneInfo heeft historische gegevens, maar alleen als u een versie van het besturingssysteem gebruikt die dit ondersteunt.

Nou, voor zover het je waarschijnlijk kan schelen. Het heeft niet zoveel historische gegevens als TZDB, en het heeft een aantal zeer vreemde representaties voor Rusland en Namibië, maar het heeft over het algemeen het idee dat regels veranderen.



  1. Hoe kan ik een MySQL-database dumpen zonder mysqldump in Python te gebruiken?

  2. Database:gepipelinede functies

  3. Geen SQL-queryresultaten na succesvolle CSV-import in mysql met behulp van LOAD DATA LOCAL INFILE

  4. Afbeelding naar de MySQL-database verzenden met Android