我正在使用Microsoft CRM 2013 SDK来处理我正在处理的项目(MS CRM Online)。 我发现通过SDK生成的所有内容都以UTC时间显示。
我住在澳大利亚(QLD),我需要加上10个小时才能代表我所在时区的时间。
我从SDK中提取日期时间字段并将该日期时间显示到ASP.NET Repeater中。 我已经将一个函数包装在此处以转换为本地时区,但是它失败并带有以下
"方法AddAuQLDToUTC
没有重载需要两个参数"
我在代码隐藏文件
中使用的功能public DateTime AddAuQLDToUTC(DateTime value)
{
DateTime UpdatedDate = new DateTime(value.Year, value.Month, value.Day, value.Hour, value.Minute, value.Second, DateTimeKind.Utc);
UpdatedDate = UpdatedDate.ToLocalTime();
return UpdatedDate;
}
我可以围绕System.DateTime.Now包装这个函数,因为它认为它的UTC已经增加了10个小时,因为我已经添加了我所期望的功能。这证明该功能正在工作,但由于某些奇怪的原因,它在下面转发器时会失败
<%# AddAuQLDToUTC(DataBinder.Eval(Container.DataItem, "new_InspectionDate"), "{0:D}")%>
有什么想法吗?
答案 0 :(得分:0)
您的方法接受一个输入,并在调用方法时提供了两个参数。它应该是这样的
<%# AddAuQLDToUTC((DateTime)DataBinder.Eval(Container.DataItem, "new_InspectionDate"))%>
如果您想格式化为{0:D},那么
<%# String.Format("{0:D}",AddAuQLDToUTC((DateTime)DataBinder.Eval(Container.DataItem,"new_InspectionDate"))) %>