UTC与本地时区之间的C#DateTime转换

时间:2018-12-10 13:38:04

标签: datetime

  1. 可以使用以下代码将本地时间转换为UTC。
    a. TimeZoneInfo.ConvertTimeToUtc(dateTimeValue, TimeZoneInfo.FindSystemTimeZoneById(localTimeZone));
    b. TimeZoneInfo.ConvertTime(dateTimeValue, TimeZoneInfo.FindSystemTimeZoneById(localTimeZone), TimeZoneInfo.FindSystemTimeZoneById("UTC");

  2. ,并使用以下代码将UTC转换为Local。 a. TimeZoneInfo.ConvertTimeFromUtc(dateTimeValue, TimeZoneInfo.FindSystemTimeZoneById(localTimeZone)); b. TimeZoneInfo.ConvertTime(dateTimeValue, TimeZoneInfo.FindSystemTimeZoneById("UTC"), TimeZoneInfo.FindSystemTimeZoneById(localTimeZone));

当应用程序在Visual Studio(调试模式)中运行时,它工作正常。但是在将应用程序托管在美国服务器(美国东部时区)并从印度浏览应用程序后,从UTC到本地的时间转换不起作用。 这里的localTimeZone是“印度标准时间”(本地时区从客户端计算机获取,并通过日期时间转换发送到服务器。)

示例: IST日期时间: 2018/12/10 18:37
UTC日期时间: 2018-12-10 06:05(从IST到UTC)
已转换的DateTime: 2018年12月11日05:07(从UTC转换为IST)

如果我们将本地时区设置为“东部时区”,则表示转换正确。
谁能为这种情况提供解决方案。

0 个答案:

没有答案