【发布时间】:2016-08-21 08:27:04
【问题描述】:
我在将日期时间转换为 UTC 时遇到问题。 用户在 webform 中的 mydate 中输入日期,我们需要将其转换为 UTC 并存储在 DB 中。
用户还从存储在 selectedTimeZone 变量中的列表中选择时区。所以我们必须将 mydate 从 selectedTimeZone 转换为 UTC。
TimeZoneInfo.ConvertTimeToUtc(mydate, selectedTimeZone);
示例#1:
如果 mydate = 05/02/2016 09:00 AM 并且 selectedTimeZone = EST (-5:00) 那么 TimeZoneInfo.ConvertTimeToUtc(mydate, selectedTimeZone) 返回 2016 年 5 月 2 日 13:00
一小时后关闭
示例#2
如果 mydate = 05/02/2016 09:00 AM 并且 selectedTimeZone = IST(印度 标准时间) (+5:30) 然后 TimeZoneInfo.ConvertTimeToUtc(mydate, selectedTimeZone) 返回 05/02/2016 03:30
这是正确的
这样的例子还有很多。
有什么问题?
编辑:
我不需要像 .net 那样将用户输入转换为 DateTime,我们在 mvc 操作方法参数中获取 mydate。
我通过将机器的本地时区设置为 UTC、伦敦、IST 来尝试它......但它对输出没有影响。
【问题讨论】:
-
听起来像是夏令时问题。您是否将时区设置为使用夏令时?
-
@MatthewWatson,我从用户那里得到了我需要转换的时区字符串和日期时间.....如果我需要在这里做额外的调整,请告诉我
-
你如何将用户的输入转换为日期时间?另外,您当地的时区是什么时候?
-
@Evk,我不需要像 .net 那样将用户输入转换为 DateTime,我们在 mvc 操作方法参数中获取 mydate。本地时区是 UTC
-
@Evk,我尝试在本地机器上设置 IST 但输出没有区别
标签: c# asp.net .net asp.net-mvc timezone