0

VB.NET 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を試しますが、機能しません。

お時間をいただきありがとうございます。:)

4

3 に答える 3

0

これを試して:

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

于 2013-02-27T16:12:52.877 に答える
0

日時が今日より長くなるまで、whileループを実行できますか?

DateではなくDateTimeを使用したいので、DateTime.Nowと比較できます。

実際の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でそれを実行しただけで、これは私にとっては問題なく機能します

于 2013-02-27T16:05:19.070 に答える
0

VBを使っていなかったので久しぶりですが、手伝ってもらえませんか?コードでは、whileを使用するのは間違った選択である可能性があり、代わりにforをブレーク付きで使用する可能性があります。

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

お役に立てば幸いです。

于 2013-02-27T16:07:43.770 に答える