时区信息我已经从数据库中的特定记录,例如-6这意味着UTC-6时区信息。
如何使用此-6将我的UTC时间转换为UTC-6?转换UTC时间为当地时间利用数据库
我想我必须在c#中使用TimeZoneInfo。
所有记录的时区信息都不相同。
时区信息我已经从数据库中的特定记录,例如-6这意味着UTC-6时区信息。
如何使用此-6将我的UTC时间转换为UTC-6?转换UTC时间为当地时间利用数据库
我想我必须在c#中使用TimeZoneInfo。
所有记录的时区信息都不相同。
您可以使用DateTimeOffset创建一个带有偏移量的日期。
var dbDate = myRawDbDate.Kind == DateTimeKind.Unknown ? DateTime.SpecifyKind(myRawDbDate, DateTimeKind.Utc): myRawDbDate;
var localDdate = new DateTimeOffset(dbDate, new TimeSpan(0,6,0)).DateTime;
弄糊涂了日期仍未被转换为UTC-6 .. DateTime.SpecifyKind(myRawDbDate,DateTimeKind.Utc)这将返回UTC本地日期时间。 –
@DrewAguirre编辑答案 –
小语法错误:在'.DateTime'之前缺少右括号,并且大写'TimeSpan'。你也可以使用更可读的(对我来说)'TimeSpan.FromHours(6)'。 –
您好,您可以使用TimeZoneInfo类。
var timeZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time"); //UTC-6
var UTC6date = TimeZoneInfo.ConvertTimeFromUtc(Yourdate.ToUniversalTime(), timeZone);
欲了解更多信息,请点击此处链接。 MSDN:https://msdn.microsoft.com/en-us/library/bb382835(v=vs.110).aspx
查看所有时区UTC-6:00等
使用TimeZoneInfo.GetSystemTimeZones()
方法。
示例代码:
var timeZonList = TimeZoneInfo.GetSystemTimeZones();
foreach (var item in timeZonList)
{
Console.WriteLine(item);
}
TimeZoneInfo.ConvertTimeFromUtc(date converted to universal time, "Timezone to convert your date").
希望这有助于。
对不起,我被标题 –