2013-02-12 42 views
0

按照分配給另一個字符串格式正確的代碼被用於字符串不是VB

Dim FilterExpression As string 
Dim oDate as DateTime 

oDate=System.DateTime.Now 
FilterExpression = " quot_date >= '" + oDate.ToString() + "'" 

之前分配大館包含#2/10/2013 6:10:35 PM#這一點,但如果將其分配到FilterExpression成爲quot_date >= '10/02/2013 6:10:35 PM' 日期正在改變他的格式

任何想法爲什麼?

+2

這不是C#... – 2013-02-12 13:20:43

+0

這不是'C#',這是'VB.Net'。 – eandersson 2013-02-12 13:21:02

+0

@JonSkeet sory它的VB – user1387147 2013-02-12 13:21:16

回答

3

首先,這是VB而不是C#。

其次,oDate的值是類型DateTime的值。而#2/10/2013 6:10:35 PM是類型DateTime的字面值字面值,這不是DateTime.ToString所使用的表示法。它使用當前文化的默認格式 - 這顯然是使用dd/MM/yyyy hh:mm:ss tt的效果。

如果你需要一個特定的字符串表示,你可以使用一個standardcustom字符串格式作爲參數來DateTime.ToString,你也可以指定區域性使用。 (例如,使用自定義字符串格式,您可能希望使用不變文化)。

但是,如果您嘗試使用此值作爲 - 例如在SQL查詢中 - 它將是最好不要將它轉換成一個字符串來開始。你沒有告訴我們你想做什麼,但我會嘗試,以避免將它轉換成字符串,除非你真的必須這樣做。