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)

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....