2017-04-10 46 views
0

我正在将一大堆用传统asp写成的网页迁移到新服务器上,并且发现了许多对简单日期日期的引用()功能,如:在使用“日期”功能时更改经典asp中的默认日期格式

if cint(left(date,instr(date,"/")-1)) < 9 then blah blah 

我得到错误,因为新服务器的默认日期格式返回YYYY-MM-DD,和上面的代码期待它是在DD/MM/yyyy格式。

而不是手动修复每一次出现,其中可能有几百个,我想看看我是否可以更改默认的日期格式为ASP使日期()返回 DD /MM/YYYY。我想通过简单地改变系统的短日期格式就可以做到这一点,但即使在重新启动服务器之后,它仍然会显示yyyy-mm-dd

是否有一个设置的地方在那里你可以指定默认日期格式使用日期()功能时?

+2

的VBScript *(通过扩展经典ASP)*使用系统区域设置显示日期时间值时。要修改此项,请通过Windows Server控制面板更改服务器的区域设置。 – Lankymart

+2

如果您无法访问服务器桌面,则可以在页面开始处的指令中使用Locale ID(lcid)属性,例如'<%@ Language =“vbscript”LCID =“2057”%>会为页面设置英国日期格式(和英国货币格式)。更多信息在这里 - https://msdn.microsoft.com/en-us/library/ms525091(v=vs.90).aspx,以及这里的Locale Id值列表 - https://msdn.microsoft.com/ en-us/library/ms912047(v = winembedded.10).aspx – John

+0

我知道当你有几百个页面需要修复时,它并没有帮助,但是有一些功能可以获取某个日期的特定部分:'Month(date) ','日(日期)','年(日期)',如果这些都不会提供,则有'DatePart(interval,date)'。因此,如果有无论如何都需要编辑的页面,则可以用无论日期格式如何都可以工作的函数替换脆弱和不必要的字符串解析。 – Martha

回答

1

这为我工作: 变化的global.asa,在子的Session_OnStart,添加一行

Session.LCID=1033