从考虑夏令时的时期获取日期和时间

时间:2012-09-16 13:33:02

标签: c# epoch

我目前正在开发一个c#应用程序,并使用一个纪元时间戳并将其转换回正常的日期和时间。这是非常有效的,除非它将时间返回1小时,因为它没有考虑夏令时。如何确定用户是否处于夏令时的时区并根据需要更正时间。

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:4)

您尚未指定如何从纪元时间戳转换为DateTime,但纪元时间戳是自1970-01-01 00:00:00 UTC以来经过的秒数,所以我假设您拥有UTC DateTime。您可以使用以下代码将此转换为考虑夏令时的本地时间戳:

var date = DateTime.UtcNow; // Should be created from epoch time stamp.
var localDate = date.ToLocalTime();

Kind的{​​{1}}不是DateTime非常重要。如果不是这种情况,您可以自行修改:

Local

在Windows上,转换基于执行代码的当前用户的时区和夏令时设置。