在VB.net中,我一直在通過Murach的Visual Basic 2010進行學習。在學習如何處理時間和字符串時,我遇到了一個時間問題。在Visual Basic中遇到TimeSpan問題
我需要採取2個日期,並找到它們之間的天數。
所以我宣佈我的變量。
Dim currentDay As Date
Dim futureDate As Date
Dim timespan As TimeSpan = currentDay.Subtract(futureDate)
Dim strMsgText As String
Dim daysUntilDue = timespan.Days
然後我設置格式CURRENTDAY和futureDate
currentDay = Convert.ToDateTime(Now)
futureDate = Convert.ToDateTime(txtFutureDate.Text) 'input from user
然後我把我需要顯示
strMsgText = "Current Date: " & currentDay.ToShortDateString() _
& "Future Date: " & futureDate.ToShortDateString() _
& "Days Util Due " & daysUntilDue
數據接下來我提供的數據驗證
If IsDate(txtFutureDate.Text) Then
futureDate = CDate(txtFutureDate.Text)
End If
最後我顯示數據
MessageBox.Show(strMsgText)
我得到的語法錯誤或沒有錯誤從VB IDE 然而,當計算日期,它給了我這個消息框中
前。
Current Date: 3/30/2013
Future Date: 12/26/2013
Days Until Due: 0
我試圖翻轉日期在計算
前。而不是currentDay.Subtract(futureDate)
我把它設置爲futureDate.Subtract(currentDay)
只是爲了看看它是否會給我一個不同的結果。但是,唉,它仍然是0出來。
我知道我做錯了這是成果,但我不明白它是什麼與IDE /編譯器不給我任何錯誤和書不給我任何建議或知道如何讓這個工作正常。
alrighty謝謝。將代碼放入時間範圍內,並將daysUntilDue放入當前日期和futureDate中,並將futureDate分配給futureDate.Subtrace(currentDay)。 Kabam的工作很棒。知道它必須是一個邏輯錯誤我不是盒子裏最亮的蠟筆 – thewaytonever
@thewaytonever - 沒問題。希望你明白你錯在哪裏,爲什麼這是答案。 – Oded
@thewaytonever - 我們都是從某個地方開始的。在編程方面,事情並不明顯或不自然。 – Oded