FormatDateTime(Now(),vbShortDate) 在不同的设备中给出不同的日期格式。

FormatDateTime(Now(),vbShortDate) giving different date formats in different devices.

我在一个经典的 asp 项目中工作,我从数据库中选择一个 SQL 查询。该查询在我自己的笔记本电脑上运行良好,并且该查询的日期格式为“11/14/2018”,但它在办公系统中给出了上述错误,当我在 SSMS 中检查查询时,它生成的日期格式为“14” -11-2018'。我尝试更改不同的 VB 日期格式,但结果是一样的。

这里是查询:

 sql="select count(*) as total from hc_query a, hc_breakup b where a.querytype='hotel' and a.qdate='" & FormatDateTime(Now(),vbShortDate) & "' and a.t_id=b.pnrno and b.bookstatus='half'" '

请给点建议。谢谢

问题不在代码中,而在关于函数输出的假设中。 FormatDateTime 的文档说明了 NamedFormat 参数:

vbShortDate : 2

Display a date using the short date format specified in your computer's regional settings.

即输出格式取决于计算机本地配置运行代码。两台不同的计算机可以根据语言环境配置生成不同的输出。

如果您需要一致的输出来处理在数据库字段中存储为字符串的日期,那么您将需要编写自己的函数来确保一致性。