2012-12-03 131 views
2

显示数据我有以下代码:获取下周日的日期(跳过周末)在HTML

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 = DateAdd(DateInterval.Day, 1, Now) 
    strCurrDay = FormatDateTime(CurrDateFirstDay, DateFormat.LongDate) 

    s.Append("<h5>" & strCurrDay & "</h5>") 
    s.Append(LoadDataGroupByDate(CurrDateFirstDay)) 
    Return s.ToString() 
End Function 

功能生成一个HTML文件,表格,并帮您填充它。目前,HTML文件显示明天的预订(例如,如果今天是星期一,则显示星期二的预订)。到现在为止还挺好。我想要的是,如果今天是星期五,HTML文件应该显示星期一的预订,而不是星期六。那可能吗?

我的解决方案:

 If value.DayOfWeek = DayOfWeek.Friday Then 

      Dim CurrDateFirstDay As Date = DateAdd(DateInterval.Day, 3, Now) 

      strCurrDay = FormatDateTime(CurrDateFirstDay, DateFormat.LongDate) 
      s.Append("<h5>" & strCurrDay & "</h5>") 
      s.Append(LoadDataGroupByDate(CurrDateFirstDay)) 
     Else 
      Dim CurrDateFirstDay As Date = DateAdd(DateInterval.Day, 1, Now) 

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

     End If 
+0

我删除了你的第二个问题有关如何在每天下午5点自动生成文件。这是一个完全独立的问题,所以你应该单独提问,而不是将两者合并为一个帖子。 –

+0

好的,我会单独提问。谢谢 – Paks

回答

2

如果你创建这样的方法:

Public 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 

然后你可以设置你的变量是这样的:

Dim CurrDateFirstDay As Date = GetNextWeekDay() 
+0

嗨,谢谢你的帮助。它的作用像魅力。你的解决方案更有效率,但在我写了一些东西的时候,你能看看它,并告诉我这是否也能起作用吗?我更新了我的问题 – Paks

+0

是的,您的更新问题看起来也不错。通过避免循环会更有效率,但它不能解释当天是星期六还是星期天。 –

+0

好的,再次感谢您的帮助! – Paks

相关问题