如何在 C# 中比较没有日期的两个时间值(来自日期时间)
本文关键字:日期 时间 两个 比较 | 更新日期: 2023-09-27 18:32:10
我已经在我的ASPX页面上放了一个计时器,在勾选时它会更新名为Label1的asp:label上的"当前时间",但是当页面加载时,我存储了一个名为"endtime"的DateTime值,现在我想做的是当"当前时间"等于"结束时间"触发Response.Redirect(...),我的代码如下所示,
.ASPX
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:Timer ID="Timer1" runat="server" ontick="Timer1_Tick" Interval="1000">
</asp:Timer>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label CssClass="captions2" ID="Label1" runat="server" Text="Exam Timer"></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
</asp:UpdatePanel>
代码隐藏
protected void Timer1_Tick(object sender, EventArgs e)
{
if(...comparison goes here....){
Response.Redirect("Nextpage.aspx")
}else{
Label1.Text = DateTime.Now.ToLongTimeString();
}
}
请给我一个解决方案
只需使用 TimeOfDay
属性:
if (currentTime.TimeOfDay == endTime.TimeOfDay)
。虽然我怀疑你想用>=
而不是==
.如果你这样做,请注意endTime
在午夜之前的情况......如果currentTime
在午夜过后结束,您可能仍然想开火。
老实说,目前还不清楚为什么您只想比较一天中的时间 - 而不仅仅是比较完整的日期/时间?
也许您可以使用ToString()
方法。 http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm 使用此地址重新排列日期值和
if (currentTime.ToString("yyyyMMdd")== endTime.ToString("yyyyMMdd")