vb.net - 获取下一个工作日(跳过周末)的日期以在 HTML 中显示数据

标签 vb.net datetime

我有以下代码:

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

最佳答案

如果您创建这样的方法:

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()

关于vb.net - 获取下一个工作日(跳过周末)的日期以在 HTML 中显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13688802/

相关文章:

python - 我收到此错误时间数据 '27:07.5' 与格式 '%H:%M:%S'(匹配)不匹配

c# - 服务可以写入注册表 [HKLM]

jquery - CSS:弹出窗口隐藏了另一个控件

c# - 音标转语音

C# 日期时间算术溢出错误

sql - 日期时间变量与日期时间变量的字符串表示形式

c# - 有没有什么简单的方法可以按月/年/日为单位递增 DateTime,而不必疯狂地解析它?

asp.net - 动画 ListView 页面更改

json - 使用 Newtonsoft 反序列化 JSON 属性(当它可以是单个字符串或 JARRAY 时)

javascript - 如何猜测时间戳的时区?