我正在嘗試將字串從資料庫轉換為具有這種格式“yyyy-Md”
的日期型別字串以這種格式“yyyy-Md”存盤
所以我可以使用這種格式的日期變數執行此代碼“yyyy- Md"
因為 Option Strict 是 ON Visual Studio 2019 ver 16.7.5 不高興
If gvTorF = "False" And varToday > varFTue Then
首先,我不確定是否有必要,但我讀到的關于比較日期的帖子提出了這個建議
這是我的變數
Dim varToday As Date
Dim varFTue As Date
Dim varStr As String
接下來我點擊一個按鈕從資料庫中獲取資料,下面的代碼
Public Sub GetDateInfo()
Using conn As New SQLiteConnection($"Data Source = '{gv_dbName}';Version=3;")
conn.Open()
Using cmd As SQLiteCommand = New SQLiteCommand($"SELECT * FROM DateInfoTable WHERE DID = '1'", conn)
Using rdr As SQLite.SQLiteDataReader = cmd.ExecuteReader
While rdr.Read()
varTorF = rdr("ditORf").ToString
'varFTue = CDate(rdr("diTESTdate")) 'shows as 10/26/2021
'varFTue = Date.ParseExact(varStr, "yyyy-M-d", provider As IFormatProvider, As Date)
'Tried line of code above this can NOT format correct
varTESTdate = CType(rdr("diTESTdate"), String) 'shows as 2021-10-26
End While
rdr.Close()
End Using
End Using
End Using
End Sub
除了關閉 Option Strict 或僅使用格式“Md-yyyy”來運行我的測驗
where varToday > varFTue 似乎有效
問題是我還有哪些其他選項可以將 String 轉換為 Date?
下面的函式將轉換兩個字串 varTESTdate 和 varTodayStr
varTESTdate 來自資料庫,varTodayStr 是在函式 bothDates 中創建的
這里是函式和按鈕單擊事件背后的呼叫
bothDates(varTESTdate, varTodayStr)
Public Function bothDates(ByVal varTESTdate As String, ByVal varTodayStr As String) As Object
result1 = Date.ParseExact(varTESTdate, "yyyy-M-d", provider:=Nothing)
Dim dateToday = Date.Today
varTodayStr = dateToday.ToString("yyyy-M-d")
result2 = Date.ParseExact(varTodayStr, "yyyy-M-d", provider:=Nothing)
Return (result1, result2)
End Function
uj5u.com熱心網友回復:
您似乎已經在代碼中進行了轉換
Dim d = DateTime.ParseExact("2026-10-26", "yyyy-M-d", Nothing) 'or provide a culture instead of Nothing..
雖然我不確定后面的“As IFormatProvider, As Date”是干什么用的
'varFTue = Date.ParseExact(varStr, "yyyy-M-d", provider As IFormatProvider, As Date)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
這是 vb 中此背景關系中的語法錯誤,看起來像是從 C# 轉換的殘余工件,其中我們使用“as X”來執行強制轉換。不要假設轉換器總是讓所有代碼都完美無缺;您幾乎總是必須修復它們的輸出,特別是如果僅粘貼程式中看不到所有宣告變數的部分(您的代碼似乎不包含provider作為變數)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/314911.html
