PRB:VBScript 日期和时间格式随登录的用户不同而变化

文章翻译 文章翻译
文章编号: 218964 - 查看本文应用于的产品
本文的发布号曾为 CHS218964
展开全部 | 关闭全部

症状

在您使用 VBScript Now()、Date() 或 Time() 函数时,日期和时间格式会根据登录计算机的用户不同而变化。这就给使用 Active Server Page (ASP) 开发的服务器应用程序带来一个问题(对这样的程序,日期和时间格式是至关重要的),即,当不同用户登录到服务器及没有用户登录时,日期和时间格式都会发生变化。

例如,某个应用程序可能要求您用四位数字格式,而不是两位数字格式显示世纪(例如,1999 而非 99)。某个用户登录到 IIS 服务器,并在“控制面板”中的区域设置下,将“日期”格式设置为使用四位数字年份(例如,mm/dd/yyyy)。当该用户通过浏览器打开 Active Server Page 时,年份将以四位数字显示。而当用户从计算机上注销,然后再从浏览器中打开 Active Server Page 时,年份却变成以两位数字显示。

原因

VBScript 函数 Now()、Date() 和 Time() 的格式依赖于计算机的区域设置。而区域设置会根据登录计算机的用户不同(或没有用户登录)而发生变化。结果造成没有办法确保日期和时间格式始终一致。

解决方案

要确保日期和时间格式一致,请选用以下方法:

  • 使用 JScript,因为它的日期和时间格式不依赖于区域设置。
  • 使用除 Now()、Date() 和 Time() 之外的其它函数显示日期和时间。因为其它日期和时间函数(例如,Day()、Month()、Year() 等)不依赖于区域设置,其格式也不随登录计算机的用户不同而变化。例如,下面的函数,MyDate(),将总返回 mm/dd/yyyy 格式的日期:
    Function MyDate()
         dteCurrent = Date()
    
         dteDay = Day(dteCurrent)
         dteMonth = Month(dteCurrent)
         dteYear = Year(dteCurrent)
    
         MyDate = dteMonth & "/" & dteDay & "/" & dteYear
       End Function

状态

这种现象是设计使然。

参考

关于 VBScript 和 JScript 的详细信息,请访问 MSDN Scripting 站点,地址是:
http://msdn.microsoft.com/scri pting

有关其它信息,请单击下列文章编号,查看相应的 Microsoft Knowledge Base 文章:
248142 Windows NT 4.0 和 Windows 2000 中的默认系统日期行为

属性

文章编号: 218964 - 最后修改: 2004年1月28日 - 修订: 2.0
这篇文章中的信息适用于:
  • Microsoft Active Server Pages 4.0
  • Visual Basic,Scripting Edition 5.0
  • Visual Basic,Scripting Edition 3.0
  • Visual Basic,Scripting Edition 4.0
关键字:?
kbgrpdsasp kbprb kbscript KB218964
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com