如何在vb.net中每周使用按日期时间循环



我尝试循环而与datetime每个在VB每周。2008年净。

这段代码

Private Sub Button1_Click()....
        'Select DateTime 
        Dim strDate As Date = dateTimePicker.Value.ToString("yyyy-MM-dd")
        'one week (+7)
        Dim strDateWeek As String = DateAdd("d", +7, dateTimePicker.Value.ToString("yyyy-MM-dd"))
        'DateCurrent
        Dim strDateNow As String = DateAdd("d", 0, Now.ToLongDateString())
        'While strDate < strDateNow
            'ListBox1.Items.Add(strDateWeek)
        'End While
        ListBox1.Items.Add(strDateWeek)
End Sub

I select on datetimepicker at "04/02/2013"
Output now: 11/02/2013
But I need Output each on weekly
11/02/2013
18/02/2013
25/02/2013 >>> To Current Week

我尝试循环While,但不工作。

谢谢你的时间。:)

你可以做一个while循环,直到datetime大于今天?

您希望使用DateTime而不是Date,因此您可以与DateTime进行比较。现在

你要设置你的实际DatePicker值为一个变量,否则它将永远是相同的,你会得到一个无限循环。

    Dim datePickerValue As DateTime = DateTimePicker.Value
    Dim strDate As Date = DateTimePicker.Value.ToString("yyyy-MM-dd")
    Dim strDateWeek As String
    Dim strDateNow As String = DateAdd("d", 0, Now.ToLongDateString())
    While datePickerValue < DateTime.Now()
     strDateWeek = DateAdd("d", +7, datePickerValue.ToString("yyyy-MM-dd"))
     datePickerValue = DateAdd("d", +7, datePickerValue.ToString("yyyy-MM-dd"))
     ListBox1.Items.Add(strDateWeek)
   End While

在我的VS上使用你的命名约定,这对我来说很好

这是很长一段时间以来,我没有使用过VB,但也许我可以帮助?在你的代码中,使用while可能是一个错误的选择,也许你可以使用for和break来代替。

for I = 1 to 10
Dim strDateWeek As String = DateAdd("d", +7 * i, dateTimePicker.Value.ToString("yyyy-MM-dd"))
.
.
.

while(...)
I += 1
Dim strDateWeek As String = DateAdd("d", +7 * i, dateTimePicker.Value.ToString("yyyy-MM-dd"))

希望对你有帮助。

试试这个:

Dim dtAux As Date = dateTimePicker.Value
Dim dtEnd As Date = Date.Today.AddDays(7 - dt.DayOfWeek)
While dtAux <= dtEnd
    ListBox1.Items.Add(dtAux.ToString("yyyy-MM-dd"))
    dtAux = dtAux.AddDays(7)
End While

日期dtEnd是当前星期的最后一天,如果您希望循环在当前日期停止,只需将while条件更改为:
While dtAux <= Date.Today

相关内容

  • 没有找到相关文章

最新更新