0

我通过使用 C# 语言在数据库 MYSQL 中转换为ToUniversalTime()来存储用户提交的帖子。

 BLLContext bll=new BLLContext();
 bll.DatePosted = DateTime.Now.ToUniversalTime();
 BLLContextRepo repo=new BLLContextReop();
 repo.SubmitContext(bll);

当我尝试使用ToLocalTime()检索它时,它显示服务器的本地时间(它在美国)。但我想显示印度标准时间 (IST)。未显示印度标准时间的实际代码

<asp:Label ID="Label1" runat="server" Text='<%# string.Format("{0: MMM d, yyyy "+"@"+" hh:mm tt}",((DateTime)DataBinder.Eval(Container.DataItem,"DateUpdated")).ToLocalTime()) %>' />

有没有类似的东西

<asp:Label ID="Label1" runat="server" Text='<%# string.Format("{0: MMM d, yyyy "+"@"+" hh:mm tt}",((DateTime)DataBinder.Eval(Container.DataItem,"DateUpdated")).ToLocalTime("Indian Standard Time")) %>' />

我怎样才能实现它?

4

1 回答 1

0

您需要DateTime使用相关的TimeZoneInfo. 例如:

TimeZoneInfo zone = TimeZoneInfo.FindSystemTimeZoneById("Indian Standard Time");
DateTime indian = TimeZoneInfo.ConvertTimeFromUtc(originalDateTime, zone);

或者,您可能想查看我正在编写的日期/时间 API,Noda Time,我想通过分离“本地”日期/时间的概念(不时区)从您知道时区的地方,从您只知道与 UTC 的偏移量的地方开始。

于 2012-08-27T18:13:14.953 回答