sql >> Databasteknik >  >> RDS >> Sqlserver

Hur konverterar man tidszoner i SQL Server 2005?

Eftersom SQL Server inte tillhandahåller direktstöd för detta kan du överväga att skriva en lagrad .Net dll-procedur som använder .Net TimeZoneInfo-objekt , tar detta objekt hänsyn till alla regler inklusive sommartid. Denna klass låter dig konvertera tid från en zon till en annan också. Jag hoppas att detta hjälper.

DateTime hwTime = new DateTime(2007, 02, 01, 08, 00, 00);
try
{
   TimeZoneInfo hwZone = TimeZoneInfo.FindSystemTimeZoneById("Hawaiian Standard Time");
   Console.WriteLine("{0} {1} is {2} local time.", 
           hwTime, 
           hwZone.IsDaylightSavingTime(hwTime) ? hwZone.DaylightName : hwZone.StandardName, 
           TimeZoneInfo.ConvertTime(hwTime, hwZone, TimeZoneInfo.Local));
}
catch (TimeZoneNotFoundException)
{
   Console.WriteLine("The registry does not define the Hawaiian Standard Time zone.");
}                           
catch (InvalidTimeZoneException)
{
   Console.WriteLine("Registry data on the Hawaiian STandard Time zone has been corrupted.");
}

[Redigera]

Stutorial Skapa enkel .Net DLL lagrad procedur.

En annan användbar handledning, har mer information om distribution.



  1. Hibernate Formula Annotation - MySql-funktioner:INTERVAL, DAY

  2. MySQL UUID() när den inte är unik?

  3. Doctrine2 i Symfony2:Hur kan jag se vilket objekt-anrop som leder till en fråga?

  4. Hur man delar skrivskyddade och läs-skrivtransaktioner med JPA och Hibernate