1

私は VB.NET 2008 を使用して Windows7 でプログラムを作成し、日付と日時のピッカーを使用してうまく機能します。

このような:

    With dtp_date1

        'here crashes
        .Text = DateTime.Now.Date.ToString("dd.MM.yyyy.") & " 00:00:00"

        .Format = DateTimePickerFormat.Custom
        .CustomFormat = "dd.MM.yyyy. HH:mm:ss tt"
        .ShowUpDown = False
    End With

    With dtp_date2
        .Text = DateTime.Now.Date.ToString("dd.MM.yyyy.") & " 23:59:59.9999"
        .Format = DateTimePickerFormat.Custom
        .CustomFormat = "dd.MM.yyyy. HH:mm:ss tt"
        .ShowUpDown = False
    End With

このプログラムを Windows XP に入れるまでは、これで問題なく動作します。エラーが表示されます:

string was not recognized as a valid Datetime

私はこれを修正しようとしています:

.Text = CDate(DateTimeNow.Date.ToString("dd.MM.yyyy.") & " 00:00:00").ToString

そして、ここでエラーが発生します:

文字列 "06.01.2013. 00.00.00" から型 'Date' への変換は無効です。

プログラム内に日付のある場所がたくさんあるので、このエラーを修正するにはどうすればよいですか?

4

1 に答える 1

3

DateTimePicker.Textプロパティを割り当てないでください。文字列の形式がカルチャと一致しない場合、またはコントロールパネルが日付/時刻の形式を上書きすると、非難されます。

常にDateTimePicker.Valueプロパティを使用してください。タイプDateTimeのプロパティで、フォーマットの問題の影響を受けません。修理:

    Dim now = DateTime.Now.Date
    dtp_date1.Value = now
    dtp_date2.Value = now.AddDays(1) - new TimeSpan(1) 
于 2013-01-06T14:34:50.670 に答える