C# 如何在VB.NET中根据时间间隔增加日期中的小时数

C# 如何在VB.NET中根据时间间隔增加日期中的小时数,c#,vb.net,C#,Vb.net,用户输入: dateinterval: 100714-10 interval: 2 dateinterval: 100714-10 interval: 4 输出 datefrom: 07/10/2014 08:00 dateto: 07/10/2014 9:59 datefrom: 07/10/2014 06:00 dateto: 07/10/2014 9:59 用户输入: dateinterval: 100714-10 interval: 2 dateinterval: 100714

用户输入:

dateinterval: 100714-10
interval: 2
dateinterval: 100714-10
interval: 4
输出

datefrom: 07/10/2014 08:00
dateto: 07/10/2014 9:59
datefrom: 07/10/2014 06:00
dateto: 07/10/2014 9:59
用户输入:

dateinterval: 100714-10
interval: 2
dateinterval: 100714-10
interval: 4
输出

datefrom: 07/10/2014 08:00
dateto: 07/10/2014 9:59
datefrom: 07/10/2014 06:00
dateto: 07/10/2014 9:59
间隔为2,4,6,8,12, 根据选择的时间间隔,
datefrom
dateto
之间应存在小时差。例如,如果选择的间隔为2,则小时之间的差值应为2小时。如果间隔为4,则差值应为4小时

我用按钮单击编写的代码

Protected Sub btnSubmitt_Click(sender As Object, e As EventArgs) Handles btnSubmitt.Click
    Dim _DateTimeFormatInfo As New DateTimeFormatInfo()
    _DateTimeFormatInfo.ShortDatePattern = "dd/MM/yyyy"
    _DateTimeFormatInfo.LongDatePattern = "dddd, dd MMMM yyyy"
    _DateTimeFormatInfo.FullDateTimePattern = "dddd, dd MMMM yyyy HH:mm:ss"
    _DateTimeFormatInfo.MonthDayPattern = "MMMM dd"
    _DateTimeFormatInfo.ShortTimePattern = "HH:mm "
    _DateTimeFormatInfo.LongTimePattern = "HH:mm"
    _DateTimeFormatInfo.DateSeparator = "/"
    _DateTimeFormatInfo.DateSeparator = ""

    _DateTimeFormatInfo.ShortDatePattern = "dd/MM/yyyy"
    Dim strA As String = txtDateInterval.Text
    Dim split As String() = New String(strA.Length \ 2 + ((If(strA.Length Mod 2 = 0, 0, 1)) - 1)) {}

    For i As Integer = 0 To split.Length - 1

        split(i) = strA.Substring(i * 2, If(i * 2 + 2 > strA.Length, 1, 2))
    Next

    Dim s As String = split(0) & "/" & split(1) & "/" & split(2) & "" & split(3)
    Dim strIntervaltype As String = txtIntervalType.Text


    txtDateFrom.Text = DateTime.Parse(s, _DateTimeFormatInfo).ToString("MM/dd/yyyy HH:mm")

    txtDateTo.Text = DateTime.Parse(s, _DateTimeFormatInfo).ToString("MM/dd/yyyy HH:mm")      

End Sub
日期间隔10072014-10
间隔类型2
日期自2014年10月7日08:00
日期至2014年10月7日9:59
在上面的示例中,用户将给出值dateinterval和intervaltype

日期自2014年10月7日08:00
日期至2014年10月7日9:59
如何获得上述输出


要获得所需的输出,我应该更改什么

您只需按以下步骤操作即可

首先,将您的日期间隔转换为日期自,我认为您的操作是正确的

然后使用datefrom,只需添加小时间隔,如下所示

dateto = datefrom.AddHours(interval)

您的dateto现在将把小时间隔添加到datefrom中。这么说来,我假设datefrom是正确的:

datefrom:07/10/2014 06:00?datefrom:07/10/2014 06:00编辑您的问题,我已编辑并检查过一次