C# UTC使用夏令时定位
我们在数据库中以UTC格式保存所有日期,并为每个用户保存偏移量 我们正在通过以下函数转换为localtime:C# UTC使用夏令时定位,c#,utc,datetimeoffset,gmt,C#,Utc,Datetimeoffset,Gmt,我们在数据库中以UTC格式保存所有日期,并为每个用户保存偏移量 我们正在通过以下函数转换为localtime: Private Function ConvertToLocalDateTime(ByVal utcOffset As Integer?, ByVal DateToConvert As DateTime?) As DateTime? getdatetime = DateToConvert.Value.AddHours(utcOffset) If ge
Private Function ConvertToLocalDateTime(ByVal utcOffset As Integer?, ByVal DateToConvert As DateTime?) As DateTime?
getdatetime = DateToConvert.Value.AddHours(utcOffset)
If getdatetime.IsDaylightSavingTime Then
getdatetime.AddHours(-1)
End If
Return getdatetime
End Function
但仍然有一两个小时的约会时间
如何从utcoffset正确地转换为本地时间,同时兼顾夏令时?只要将
DateToConvert
上的属性正确设置为Utc
,您就可以调用。请参阅*转换还考虑了适用于当前DateTime对象表示的时间的夏令时规则*我不清楚为什么要将UTC偏移量作为参数。相反,您应该使用TimeZoneInfo,因为它知道适用于任何情况的时区规则。如果您只记录了用户在特定时间点的UTC偏移量,则您没有足够的信息。