我正在使用VB.NET的Web應用程序。其中還混合了VisualBasic代碼,特別是VB的Date變量和Month函數。VisualBasic月函數不一致
問題是這樣的部分:
Month("10/01/2008")
上的服務器,我得到10(10月)爲一個月(這應該是正確的)。在我的機器上,我得到1(1月)(這應該是錯誤的)。
我的同事中的兩個(自己的機器上)得到不同的答案,一個得了1,對方得到了10
的問題是,爲什麼會這樣呢?
在我的最後,我可以通過使用.NET的DateTime的Parse(或ParseExact)函數強制所有內容爲「dd/MM/yyyy」格式來解決問題。這工作。我只是想知道爲什麼會有不一致。
額外信息:我知道Month函數的參數應該是Date變量。該代碼使用一個字符串作爲參數,並且Option Strict已關閉,開發人員主要讓VB執行自己的轉換。 (傳統代碼維護有很多慣性...)
如果有幫助,服務器上的Microsoft.VisualBasic.dll版本是7.10.6310.4(在Framework文件夾v1.1.4322下)。我的版本(和我的2位同事)的機器是7.10.6001.4。
編輯:所有機器的區域設置已設置爲dd/MM/yyyy格式(短日期格式)。
感謝您的信息。問題是,我不能使用字面格式,因爲日期字符串取自Request.QueryString,並且像這樣使用 Dim s As String = Request.QueryString(「currdate」) Dim iMonth As Int32 = Month( s) – 2008-10-08 09:04:39