处理vbscript中的时区

Mar*_*rgo 4 vbscript timezone asp-classic

我正在尝试用vbs更改一些旧的.asp文件.我们的数据库将以UTC格式转换为商店日期,但在网页上,它应显示"欧洲/赫尔辛基"时区的日期和时间(

TimeZoneInfo.FindSystemTimeZoneById("FLE Standard Time")
Run Code Online (Sandbox Code Playgroud)

在c#).如何使用vbscript转换我从db查询获得的UTC日期(查询在.asp文件中运行以及结果放入表中)以更正日期时间?

Lan*_*art 5

只需使用即可抵消UTC日期DateAdd().

Const EETOffset = -2 'EET offset from UTC is -2 hours
Dim dbDateValue  'Assumed value from DB
Dim newDate
'... DB process to populate dbDateValue
newDate = DateAdd("h", EETOffset, dbDateValue)
Run Code Online (Sandbox Code Playgroud)

注意:此方法的一个问题是您还必须根据一年中的时间手动补偿EET和EEST (东欧夏令时).考虑到某些地方不使用它并且全年使用EET时,这也更加困难.
参见EET - 东欧时间(标准时间).

根据您使用的RDMS,您甚至应该能够在它们到达页面之前操作日期作为初始查询的一部分.


有用的链接

  • @Margo我想也许`System.TimeZoneInfo`可以用`CreateObject`实例化,但它看起来并不像.Net将该类暴露给COM,所以简而言之..没有. (2认同)