Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Преобразуване на произволна дата от сървърно време в потребителско време (за стандартно и лятно часово време)

TimeZoneInfo прави, да. (Това е част от .NET framework, а не част от C# - C# е просто езикът, който случайно използвате.) Не мисля обаче, че това е, което наистина искате да правите.

Защо съхранявате DateTime в сървъра все пак часовата зона? Би било по-разумно да го съхранявате в UTC в повечето случаи. Освен всичко друго, ако вашият сървър е в часова зона, която спазва лятното часово време, ще получите неяснота за един час на година, когато часовникът се върне назад. (Едно и също местно време се среща два пъти.)

След като го съхраните като UTC, трябва да го дадете и на вашия Javascript клиент като UTC. Въпреки че казвате, че имате "някакъв java скрипт, който ще ми даде изместването на потребителите от UTC" - това ще зависи от точния момент във времето. Например, тъй като съм в Обединеното кралство, отместването ми понякога е 0, а понякога +1 час. Ако предадете UTC обратно на клиента, това може да изчисли местното време от това UTC време. Вашият сървър не може, освен ако не можете да получите точен представяне на часовата зона от клиента към сървъра, което обикновено е сложно нещо.

Отново самият C# не е от значение тук. Не е ясно коя част от .NET framework имате предвид - TimeZone ? TimeZoneInfo ? DateTime ? TimeZoneInfo има исторически данни, но само ако използвате версия на операционната система, която го поддържа.

Е, доколкото ви е вероятно да ви пука. Той няма толкова исторически данни като TZDB и има някои много странни представяния за Русия и Намибия, но като цяло има идеята за промяна на правилата.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Извличане на дефиниция на колона за набор от резултати от запомнени процедури

  2. Как да съхранявате изображения с помощта на Entity Framework Code First CTP 5?

  3. Как да спра мащаба на DateTimeOffset от причиняване на ChangeConflictException в linq към Sql?

  4. SSMS резултати към мрежа - CRLF не се запазва при копиране/поставяне - има ли по-добри техники?

  5. SQL заявка за намиране на име на колона в цялата база данни