Help and Support
 

powered byLive Search

VBScript Date and Time Functions May not be Formatted Properly in Non-English (US) Locales

Retired KB ArticleThis article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
Article ID:264063
Last Review:November 21, 2006
Revision:2.1
This article was previously published under Q264063

SYMPTOMS

Calling VBScript-based date or time related functions from Microsoft Active Server Pages (ASP) on non-English (US) localizations of Microsoft Windows 2000, may return unexpected results when a user logs in interactively at the Internet Information Services (IIS) server.

Back to the top

CAUSE

VBScript, the default scripting language used by ASP, formats date and time values based on the settings specified by the interactive user. When there is no user logged in interactively (at the console), the system defaults that were specified during setup are used. However, when a user logs in interactively, that user's locale (regional) settings are used for all VBScript date and time formatting on the server. NOTE: This problem is the result of a design implementation in VBScript. Although IIS 5.0 is listed in the "Applies To" section, the problem will manifest in any service/application that attempts to use VBScript Date/Time formatting functions when a user is not logged in interactively (ie. IIS4, IIS3, W, H, etc.).

Back to the top

WORKAROUND

To work around this behavior, you can use any of following workarounds:

Set the Session.LCID value for the locale you want in the Application_OnStart or Session_OnStart functions of the Global.asa file.
For additional information, click the article number below to view the article in the Microsoft Knowledge Base:
229690 (http://support.microsoft.com/kb/229690/EN-US/) HOWTO: Set the ASP Locale ID Per the Browser's Language Settings
If you are using VBScript, call the SetLocale function from any page that uses date or time functions.
For additional information, click the article number below to view the article in the Microsoft Knowledge Base:
232158 (http://support.microsoft.com/kb/232158/EN-US/) HOWTO: Use GetLocale() and SetLocale() in VBScript
If you are using VBScript, manually format all date and time functions by using the concatenations of the Datepart function such as Day, Month and Year.

Use JScript (http://msdn.microsoft.com/scripting/jscript/techinfo/jsdocs.htm) as the scripting language, which does not rely on the interactive user's settings for date and time formatting, because a complete date is not returned (date parts are returned from methods such as GetDate, GetMonth, and GetFullYear).

Do not log in to the server interactively (at the console). Use Terminal Services to log into the Microsoft Windows 2000 Server.

NOTE: This workaround is not available for Microsoft Windows 2000 Professional.

Setting the following value in the registry forces IIS 5.0 to pull the default system format for the Date and Time functions, but is not recommended for locales that use non-English character sets:

HKEY_USERS\.DEFAULT\Control Panel\International\Locale = 00000409
WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

Back to the top

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

Back to the top

MORE INFORMATION

Because the presence of an interactive user can affect the Locale ID, and thus the formatting of date, time, and currency values, Microsoft recommends that you explicitly set the Locale ID by using the Session.LCID property in the Global.asa for your Web application.

Back to the top

REFERENCES

For additional information, click the article number below to view the article in the Microsoft Knowledge Base:
246011 (http://support.microsoft.com/kb/246011/EN-US/) Troubleshooting Windows 2000 MultiLanguage Version

Back to the top


APPLIES TO
Microsoft Internet Information Services 5.0

Back to the top

Keywords: 
kbbug kbpending KB264063

Back to the top

Article Translations

 

Other Support Options

  • Need More Help?
    Contact a Support professional by Email, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.