asp.net ConvertTimeFromUtc位于.ASPX文件内
在.aspx文件中,我需要将获取的日期转换为本地日期,因为它存储为UTCasp.net ConvertTimeFromUtc位于.ASPX文件内,asp.net,Asp.net,在.aspx文件中,我需要将获取的日期转换为本地日期,因为它存储为UTC <asp:SqlDataSource ID="SqlDS1" runat="server" ConnectionString="<%$ ConnectionStrings:phiSQL %>" SelectCommand="select ID, AnalasisDate from ProgTbl"></asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDS1" runat="server" ConnectionString="<%$ ConnectionStrings:phiSQL %>"
SelectCommand="select ID, AnalasisDate from ProgTbl"></asp:SqlDataSource>
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDS1" Width="1200px"
AutoGenerateColumns="False" OnRowCommand="GridView1_OnRowCommand"
AllowSorting="True">
<Columns>
<asp:BoundField DataField="ID" HeaderText="Identification"/>
<asp:BoundField DataField="AnalasisDate" HeaderText="Time Stamp"/>
...
将执行此操作,但不确定如何将其合并到.aspx文件中
我尝试了以下方法:
<Columns>
<asp:TemplateField HeaderText="Time Stamp"/>
<ItemTemplate>
<%= TimeZoneInfo.ConvertTimeFromUtc(AnalasisDate, TimeZoneInfo.FindSystemTimeZoneById(Session["Timezone"].ToString())) %>
</ItemTemplate>
</asp:TemplateField>
但获取的消息表明此上下文中不支持代码块。您可以使用以下语法:
<%= [your code] %>
例如:
<%= TimeZoneInfo.ConvertTimeFromUtc(result.AnalasisDate.Value, tz) %>
可能使用模板字段
<asp:TemplateField HeaderText="Time Stamp"/>
<ItemTemplate>
<%# Convert.ToDateTime(Eval("AnalasisDate")).ToLocalTime() %>
</ItemTemplate>
</asp:TemplateField>
@codingbiz=>这个答案将适用于服务器端<代码>ToLocalTime() 将时间转换为服务器的时区。当您希望从服务器获取时区并且您知道服务器的位置时,这可能是一个解决方案 如果你想从客户端显示时间,你必须做更多的事情。比如通过输入值询问用户在哪个时区。或者,如果您知道用户在哪里,您可以使用他的时区id:
<%= DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc,
TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time")) %>
在这里您可以找到所有时区ID:
您好,我添加了其他代码,但仍然收到一个错误。请通知你好,我添加了额外的代码,但仍然得到一个错误。请注意,这不是语法问题。因为这很有效
<%= DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc,
TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time")) %>