我已经使用Date
对象上的getTimezoneOffset
方法,将用户客户端日期时间与UTC偏差的分钟数传递给了控制器。现在我想从服务器端使用这些信息创建一个TimeZoneInfo
。是否可能?如果不可能,那么我如何使用这些分钟偏移将UTC日期转换为客户端时区的日期?
我已经使用Date
对象上的getTimezoneOffset
方法,将用户客户端日期时间与UTC偏差的分钟数传递给了控制器。现在我想从服务器端使用这些信息创建一个TimeZoneInfo
。是否可能?如果不可能,那么我如何使用这些分钟偏移将UTC日期转换为客户端时区的日期?
// From your database. Make sure you specify the UTC kind.
DateTime utc = new DateTime(2013, 1, 1, 0, 0, 0, DateTimeKind.Utc);
// From JavaScript
int offsetMinutes = 420;
// Don't forget to invert the sign here
TimeSpan offset = TimeSpan.FromMinutes(-offsetMinutes);
// The final result
DateTimeOffset dto = new DateTimeOffset(utc).ToOffset(offset);
DateTimeOffset
,您可以使用.DateTime
属性获取本地DateTime
。 - Matt Johnson-Pint