PRB: Format daty i godziny w aplikacji VBScript zmienia się zależnie od zalogowanego użytkownika

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 218964 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Symptomy

Jeśli w skrypcie VBScript jest używana funkcja Now, Date lub Time, to format daty i godziny zależy od zalogowanego użytkownika. Powoduje to problem w przypadku aplikacji serwerowych tworzonych przy użyciu programu Active Server Pages, w których format daty i godziny ma kluczowe znaczenie. Formaty te zmieniają się zależnie od użytkownika zalogowanego na serwerze oraz gdy nikt nie jest zalogowany.

Na przykład aplikacja może wymagać wyświetlania roku w zapisie czterocyfrowym, a nie dwucyfrowym (czyli np. 1999 zamiast 99). Użytkownik po zalogowaniu się na serwerze Microsoft Internet Information Server (IIS) ustawia format daty w oknie Ustawienia regionalne Panelu sterowania, tak aby rok był wyświetlany w postaci 4 cyfr (np. dd/mm/rrrr). Po otworzeniu strony Active Server Pages (ASP) w przeglądarce rok jest wyświetlany jako cztery cyfry. Jeśli użytkownik wyloguje się z komputera i ponownie otworzy stronę ASP w przeglądarce, pojawi się rok zapisany dwoma cyframi.

Przyczyna

Funkcje języka VBScript Now, Date i Time korzystają z ustawień regionalnych komputera, które mogą się zmieniać zależnie od tego, kto jest zalogowany. Dlatego nie można zapewnić, że format daty i godziny będzie zawsze taki sam.

Rozwiązanie

Aby zapewnić niezmienność formatu wyświetlanej daty i godziny, wykonaj jedną z następujących czynności:
  • Użyj języka JScript, który nie korzysta z ustawień regionalnych przy formatowaniu daty i godziny.
  • Używaj innych funkcji niż Now, Date i Time do wyświetlania daty i godziny. Ponieważ inne funkcje związane z datą i godziną (np. Day, Month i Year) nie korzystają z ustawień regionalnych, format daty lub godziny nie zmienia się po zalogowaniu innego użytkownika. Oto przykładowa funkcja MyDate zawsze zwracająca datę w formacie mm/dd/rrrr:
    Function MyDate()
         dteCurrent = Date()
    
         dteDay = Day(dteCurrent)
         dteMonth = Month(dteCurrent)
         dteYear = Year(dteCurrent)
    
         MyDate = dteMonth & "/" & dteDay & "/" & dteYear
       End Function
    					

Materiały referencyjne

Aby uzyskać dodatkowe informacje o skryptach VBScript oraz JScript, odwiedź witrynę MSDN Scripting o adresie:
http://msdn.microsoft.com/scripting
Aby uzyskać dodatkowe informacje, kliknij numer artykułu poniżej w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
248142 Default System Date Behavior in Windows NT 4.0 and Windows 2000

Właściwości

Numer ID artykułu: 218964 - Ostatnia weryfikacja: 25 sierpnia 2003 - Weryfikacja: 1.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Active Server Pages 2.0
  • Visual Basic, Scripting Edition 3.0
  • Visual Basic, Scripting Edition 4.0
  • Visual Basic, Scripting Edition 5.0
Słowa kluczowe: 
kbprb kbscript KB218964
Zastrzeżenie dotyczące artykułów z bazy wiedzy o produktach wycofanych
Ten artykuł dotyczy produktów, dla których firma Microsoft nie oferuje już pomocy technicznej. Dlatego jest on oferowany w obecnej wersji i nie będzie już aktualizowany.

Przekaż opinię

 

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