如何在 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();
        }
    }

请给我一个解决方案

如何在 C# 中比较没有日期的两个时间值(来自日期时间)

只需使用 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")