Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在vb.net中每周按日期时间使用循环_Vb.net_Datetime_Loops_Data Binding_Foreach - Fatal编程技术网

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

如何在vb.net中每周按日期时间使用循环,vb.net,datetime,loops,data-binding,foreach,Vb.net,Datetime,Loops,Data Binding,Foreach,在VB.NET2008中,我尝试每周使用datetime循环 此代码 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, dateTi

在VB.NET2008中,我尝试每周使用datetime循环

此代码

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循环,直到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
Dim datePickerValue As DateTime=DateTimePicker.Value
Dim strDate As Date=DateTimePicker.Value.ToString(“yyyy-MM-dd”)
Dim strDateWeek作为字符串
Dim strDateNow As String=DateAdd(“d”,0,Now.ToLongDateString())
而datePickerValue

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

我很久没有使用VB了,但也许我能帮上忙? 在您的代码中,使用while可能是一个错误的选择,也许您可以使用带中断的for

for I = 1 to 10
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
Dim dtAux As Date=dateTimePicker.Value
Dim dtEnd As Date=Date.Today.AddDays(7-dt.DayOfWeek)

当使用dtAux时,您应该使用
DateTime
s,而不是
String
s。然后,您将有一些很好的方法,比如
AddDays()
,您可以在循环中调用这些方法。
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