我使用C#语言在数据库MYSQL中转换为ToUniversalTime()来存储用户提交的帖子。
BLLContext bll=new BLLContext();
bll.DatePosted = DateTime.Now.ToUniversalTime();
BLLContextRepo repo=new BLLContextReop();
repo.SubmitContext(bll);
当我尝试使用ToLocalTime()检索它时,它显示的是服务器的本地时间(在美国)。但我想展示印度标准时间。未显示印度标准时间的实际代码
<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")) %>' />
我怎样才能做到这一点?
您需要使用相关的TimeZoneInfo
转换DateTime
。例如:
TimeZoneInfo zone = TimeZoneInfo.FindSystemTimeZoneById("Indian Standard Time");
DateTime indian = TimeZoneInfo.ConvertTimeFromUtc(originalDateTime, zone);
或者,你可能想看看我正在写的API的日期/时间,Noda time,我想通过将"本地"日期/时间(无时区)的想法与你知道的区域和你只知道与UTC的偏移量的想法分开,让这一切变得更清楚。