【问题标题】:Server-Side Code to Execute Based on a Time Range基于时间范围执行的服务器端代码
【发布时间】:2025-12-27 08:40:16
【问题描述】:

我们的 Web 应用程序中有一个 Try/Catch 代码块来捕获某个异常。我们想要对这个异常做什么取决于当前时间。如果是在下午 4:30 到凌晨 3:00 之间,我们将要发送一封电子邮件,否则我们将抛出异常。实现这一目标的最佳方法是什么?

Try
    'Yada
Catch ex as WebException
    Dim Time As DateTime = DateTime.Now

    'Not sure where to go from here!
End Try

【问题讨论】:

    标签: asp.net vb.net time


    【解决方案1】:

    由于每天都在这些时间之间,因此最简单的方法是检查现在是否在当天凌晨 3:00 之前,或者现在是否在当天下午 4:30 之后。这将涵盖下午 4:30 到午夜 12 点和午夜到凌晨 3 点的时间跨度。

    由 Josh Stodola 编辑添加代码:

      Dim Time As DateTime = DateTime.Now
      Dim Low As New Date(Time.Year, Time.Month, Time.Day, 16, 30, 0)
      Dim High As New Date(Time.Year, Time.Month, Time.Day, 3, 0, 0)
    
      If Time > Low OrElse Time < High Then
          'Send Email
      Else
          Throw Ex
      End If
    

    【讨论】:

    • 是的,但我决定删除关于如何的确切代码,我开始怀疑这是否是某人的家庭作业