Vì SQL Server không cung cấp hỗ trợ ngoài hộp cho việc này, bạn có thể cân nhắc viết một thủ tục .Net dll được lưu trữ, sử dụng . Đối tượng Net TimeZoneInfo , đối tượng này sẽ xem xét tất cả các quy tắc bao gồm cả DST. Lớp này cũng cho phép bạn chuyển đổi thời gian từ vùng này sang vùng khác. Tôi hy vọng điều này sẽ hữu ích.
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.");
}
[Chỉnh sửa]
Hướng dẫn Tạo Đơn giản Quy trình lưu trữ .Net DLL.
Một hướng dẫn hữu ích khác, chi tiết hơn về cách triển khai.