Vb.net 在特定时间创建HTML

Vb.net 在特定时间创建HTML,vb.net,datetime,time,Vb.net,Datetime,Time,如果有以下代码: Public Shared Function GetNextWeekDay() As Date Dim value As Date = Date.Now Do value = value.AddDays(1) Loop While (value.DayOfWeek = DayOfWeek.Saturday) Or (value.DayOfWeek = DayOfWeek.Sunday) Return value End Funct

如果有以下代码:

Public Shared Function GetNextWeekDay() As Date
    Dim value As Date = Date.Now
    Do
        value = value.AddDays(1)
    Loop While (value.DayOfWeek = DayOfWeek.Saturday) Or (value.DayOfWeek = DayOfWeek.Sunday)
    Return value
End Function


Public Shared Function DPLoadData() As String
    Dim s As StringBuilder = New StringBuilder("<head><meta http-equiv=""content-type"" content=""text/html;charset=utf-8"" /><META HTTP-EQUIV=""REFRESH"" CONTENT=""900"">")
    s.Append("<style type=""text/css"" media=""all""> body{font-family: Arial;}h4{font-size: 10pt;font-weight: bold;white-space: nowrap;margin-top: 0; margin-bottom: 10px;}")
    s.Append("th{font-size: 9pt;font-weight: normal;text-align: center;white-space: nowrap;}td{font-size: 9pt;}.content td{border: solid 1px #dadada;}")
    s.Append(".content th {border: solid 1px #dadada;background-image: url(""tbl_header_row_bg.gif""); background-repeat: repeat-x; white-space: nowrap;}</style></head>")


  s.Append("<h3>" & "Daily Plan" & "</h3>")
        Dim strCurrDay As String = ""
        s.Append("<h5>" & strCurrDay & "</h5>")



    Dim CurrDateFirstDay As Date = GetNextWeekDay()
    strCurrDay = FormatDateTime(CurrDateFirstDay, DateFormat.LongDate)
    s.Append("<h5>" & strCurrDay & "</h5>")
    s.Append(LoadDataGroupByDate(CurrDateFirstDay))

    Return s.ToString()

End Function
公共共享函数GetNextWeekDay()作为日期
Dim值为Date=Date.Now
做
value=value.AddDays(1)
循环While(value.DayOfWeek=DayOfWeek.Saturday)或(value.DayOfWeek=DayOfWeek.Sunday)
返回值
端函数
作为字符串的公共共享函数DPLoadData()
尺寸s为StringBuilder=新StringBuilder(“”)
s、 追加(“正文{font-family:Arial;}h4{font-size:10pt;字体大小:粗体;空白:nowrap;页边距顶部:0;页边距底部:10px;}”)
s、 追加(“th{font size:9pt;font-weight:normal;text-align:center;white-space:nowrap;}td{font-size:9pt;}.content td{border:solid 1px#dadada;}”)
s、 追加(“.content th{border:solid 1px#dadada;背景图像:url(“.tbl_header_row_bg.gif”);背景重复:repeat-x;空白:nowrap;}”)
s、 附加(“&”每日计划“&”)
Dim strCurrDay As String=“”
s、 追加(“&strCurrDay&”)
Dim CurrDateFirstDay As Date=GetNextWeekDay()
strCurrDay=FormatDateTime(CurrDateFirstDay,DateFormat.LongDate)
s、 追加(“&strCurrDay&”)
s、 追加(LoadDataGroupByDate(CurrDateFirstDay))
返回s.ToString()
端函数
函数DPLoadData生成一个带有表格的HTML文件,并用预订填充该文件。当前,HTML文件显示明天的预订(例如,如果今天是星期一,则显示星期二的预订;如果今天是星期五,则显示星期一的预订)

我需要的是HMTL文件在下午5点生成。例如:如果今天是星期一,则HTML文件应在星期一下午5点生成,并应显示星期二到星期二下午5点的预订,以及星期二下午5点的预订。该文件应为星期三生成,并应显示星期三到星期三下午5点的预订,等等

我该怎么做?请帮忙

我的解决方案:

 Public Shared Function GetNextWeekDay() As Date
    Dim value As Date = Date.Now
    Dim intHour As Integer
    Dim intMinute As Integer
    Dim intSecond As Integer


    intHour = 17
    intMinute = 0
    intSecond = 0

    Dim newdatetime As DateTime = New Date(value.Year, value.Month, value.Day, intHour, intMinute, intSecond)

    If DateTime.Now < newdatetime Then

        If value.DayOfWeek = DayOfWeek.Saturday Then
            value = value.AddDays(2)
            Return value
        End If

        If value.DayOfWeek = DayOfWeek.Sunday Then
            value = value.AddDays(1)
            Return value
        End If

        Return value

    ElseIf DateTime.Now > newdatetime Then
        Do
            value = value.AddDays(1)
        Loop While (value.DayOfWeek = DayOfWeek.Saturday) Or (value.DayOfWeek = DayOfWeek.Sunday)
        Return value
    End If
End Function
公共共享函数GetNextWeekDay()作为日期
Dim值为Date=Date.Now
整小时
整数形式的整数
第二个整数
整小时=17
intMinute=0
intSecond=0
Dim newdatetime As DateTime=新日期(value.Year、value.Month、value.Day、intHour、intMinute、intSecond)
如果DateTime.Nownewdatetime然后
做
value=value.AddDays(1)
循环While(value.DayOfWeek=DayOfWeek.Saturday)或(value.DayOfWeek=DayOfWeek.Sunday)
返回值
如果结束
端函数

我理解您的问题,您基本上是在寻找在给定时间执行程序的方法?如果是,请查看或,具体取决于您运行此操作系统的操作系统


更新:所以基本上你只需要比较一下现在的时间,看看是否在下午5点之前。然后你应该有一个函数,返回从当天下午5点到明天下午5点的数据

你可能想看看。基本上,您需要将当前时间与包含下午5点的当前日期的日期时间进行比较


更新:只需扩展你的if条件,检查今天不是周六或周日。这是我刚刚编写的一个小代码片段。我不是很熟悉VB,所以这可能不是100%正确,但我想你明白了

Public Function GetNextWeekDay() As Date
    Dim value As Date = Date.Now
    Dim intHour As Integer
    Dim intMinute As Integer
    Dim intSecond As Integer

    intHour = 17
    intMinute = 0
    intSecond = 0

    Dim newdatetime As DateTime = New Date(value.Year, value.Month, value.Day, intHour, intMinute, intSecond)

    If value.DayOfWeek <> DayOfWeek.Saturday And value.DayOfWeek <> DayOfWeek.Sunday And DateTime.Now < newdatetime Then
        Return value.Date
    Else
        Do
            value = value.AddDays(1)
        Loop While (value.DayOfWeek = DayOfWeek.Saturday) Or (value.DayOfWeek = DayOfWeek.Sunday)
        Return value.Date
    End If
End Function
公共函数GetNextWeekDay()作为日期
Dim值为Date=Date.Now
整小时
整数形式的整数
第二个整数
整小时=17
intMinute=0
intSecond=0
Dim newdatetime As DateTime=新日期(value.Year、value.Month、value.Day、intHour、intMinute、intSecond)
如果value.DayOfWeek DayOfWeek.Saturday和value.DayOfWeek DayOfWeek.Sunday和DateTime.Now
基本上我不执行程序。我正在打一个链接。如果我点击链接,就会打开一个显示预订的html页面。所以我想检查代码中的时间。如果周一下午5点,则显示周二至下午5点的预订。在很多方面,你发布的链接对我帮助很大。但我只有一个小问题。在If子句where DateTime.Now