爲了更好地爲加拿大客戶提供服務,我們試圖本地化某些傳統ASP頁面上顯示的日期。我們已經開始使用SetLocale()vb腳本函數,並取得了一些成功 - 正確處理用戶輸入日期。本地化傳統ASP中記錄集的日期
但是,我期望在ADODB.Recordset中返回的日期遵守頁面的語言環境。請看下面的代碼:
SetLocale 4105
'''
' Get a list of Employees
SQL = "SELECT Firstname, Lastname, HireDate FROM Employee"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open Application("ConnectionString")
Set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = conn
cmd.CommandType = 1
cmd.CommandText = SQL
Set rst = Server.CreateObject("ADODB.Recordset")
rst.CursorLocation = 3
Set rst = cmd.Execute
當寫列僱傭日期該網頁,它呈現爲MM/DD/YYYY(我們的服務器所使用的格式)。
有幾件事情需要注意:
- 我們需要同時服務於美國和加拿大客戶在同一臺服務器上(因此改變了服務器的本地化/地區不是一個選項)。這必須是純粹的代碼解決方案。
- 我注意到TypeNamerst(「HireDate」)是「字段」 - 不是我所期望的日期。
本方案中本地化來自SQL Server的日期值的正確方法是什麼?
你能否澄清一下,你是說,儘管'setLocale的4105'日期的格式並不如預期?順便說一句,使用'TypeName(rst(「HireDate」)。Value)'你得到了什麼? – AnthonyWJones 2011-12-20 16:32:03