微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp-classic – 在经典ASP中本地化记录集中的日期

为了更好地为加拿大客户提供服务,我们尝试本地化一些旧的经典ASP页面显示的日期.我们已经开始使用SetLocale()vb脚本函数取得了一些成功 – 正确处理用户输入日期.

但是,我期望在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

将HireDate列写入页面时,它将呈现为MM / DD / YYYY(我们的服务器使用的格式).

有几点需要注意:

>我们需要在同一台服务器上为美国和加拿大客户提供服务(因此无法更改服务器的本地化/区域).这必须是纯代码解决方案.
>我注意到rst(“HireDate”)的TypeName是“Field” – 而不是我预期的Date.

在此方案中,本地化来自sql Server的日期值的正确方法是什么?

解决方法

我想你可能仍然需要使用FormatDateTime函数来使其正确显示.

尝试

FormatDateTime(rst("HireDate").Value,vbShortDate)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐