2011-07-11 26 views
1

私のプロジェクトでは次のコードを使用しています。私は最後の日付と今与えられた日数を探したい。VB.NETでDatediff()関数が期待した結果を得ない

Dim BorrowDate As Date 
Dim i As Integer 
BorrowDate = Date.Parse(txtBorrowDate.Text) 
i = DateDiff(DateInterval.Day, BorrowDate, DateTime.Now) 

たとえば、BorrowDateが "01/Jul/2011"の場合、結果は7日で10になります。変数の初期化と日付を表示する:あなたはこの

Dim BorrowDate As Date = Date.Parse(txtBorrowDate.Text) 

    Debug.WriteLine(BorrowDate.ToString) 
    Debug.WriteLine(DateTime.Now.ToString) 

    Dim ts As TimeSpan = DateTime.Now - BorrowDate 

    Dim numdays As Integer = CInt(ts.TotalDays) 

    Debug.WriteLine(numdays.ToString("n0")) 

編集を試みる場合があります。ネット使用しているので

+0

日付が正しく解析されていると確信していますか?新しいDateTimeオブジェクトを作成してBorrowDateを手動で設定するとどうなりますか?あなたはこれをデバッグ/修正しようとしましたか? – mdm

+0

BorrowDateは、実際にデータベースから、ユーザーが手動で入力しないテキストボックスに取得されます。 –

+0

BorrowDateとDateTime.Nowの値はどのようなものですか? – bechbd

答えて

3

を助けてください。

+0

です。しかし、それを直ちに初期化せずに変数を宣言するのは悪いスタイルであり、ここでこれをしない理由はありません(ただし、OPもそれを行っていません)。これにより、コードが半分に短縮されます。 ;-) –

+0

男、それはまだ同じ結果を生成します –

+0

bechbdはこれを既に尋ねましたが、BorrowDateとDateTime.Nowの実際の実行時の値は何ですか? – jwatts1980

関連する問題