我目前正在开发一个c#应用程序,并使用一个纪元时间戳并将其转换回正常的日期和时间。这是非常有效的,除非它将时间返回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上,转换基于执行代码的当前用户的时区和夏令时设置。