可以使用以下代码将本地时间转换为UTC。
a. TimeZoneInfo.ConvertTimeToUtc(dateTimeValue, TimeZoneInfo.FindSystemTimeZoneById(localTimeZone));
b. TimeZoneInfo.ConvertTime(dateTimeValue, TimeZoneInfo.FindSystemTimeZoneById(localTimeZone), TimeZoneInfo.FindSystemTimeZoneById("UTC");
,并使用以下代码将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)
如果我们将本地时区设置为“东部时区”,则表示转换正确。
谁能为这种情况提供解决方案。