如果夏令时生效,并且日期对象已保存到数据库中(UTC格式),您将检索该数据库以在视图中显示它(例如视图中asp.net-mvc).
您可以使用此方法执行此操作:
public static DateTime ConvertToLocalTimeFromUtcTime(DateTime utcDate, string timeZoneId)
{
TimeZoneInfo localZone = TimeZoneInfo.FindSystemTimeZoneById(timeZoneId);
DateTime localTime = TimeZoneInfo.ConvertTimeFromUtc(utcDate, localZone);
if (localZone.IsDaylightSavingTime(localTime))
localTime = localTime.AddHours(1); // is this needed !?
return localTime;
}
Run Code Online (Sandbox Code Playgroud)
问题是,是否TimeZoneInfo.ConvertTimeFromUtc()处理DST或您是否必须自己检查并在日期对象中添加或减去X小时?
通过将日期对象转换为UTC格式来将日期对象持久化到数据库时的相同问题ToUniversalTime().
| 归档时间: |
|
| 查看次数: |
6995 次 |
| 最近记录: |