Aktualizacja strony (po polsku)

Skrypt pokazuje datę (po polsku) i czas ostatniej aktualizacji dokumentu, czyli zapisania go na dysku. Internet Explorer niepoprawnie pokazuje czas (cofnięty o godzinę w stosunku do stanu faktycznego). Jest to spowodowane formatem zapisu i przesyłania tej informacji przez serwer, na którym jest zainstalowany skrypt. Przeglądarka przelicza to na format GMT, czyli uniwersalny. Pokazanie aktualnej dla naszego komputera daty wymaga zastosowania metody .toLocaleString().

Nie jest jasne zachowanie Netscape Navigatora, który na jednych serwerach pokazuje poprawną datę (na dysku lokalnym zawsze), na innych zaś - datę 1 stycznia 1970 roku! To z kolei jest spowodowane nierozumieniem przez Netscape wszystkich używanych na świecie sposobów zapisu lokalnego czasu. Jeśli serwer przyśle datę w formacie zrozumiałym wtedy Netscape ją prawidłowo pokazuje - jeśli nie, może pokazywać 1970 rok.

Opera zachowuje sie podobnie jak Netscape. Na dysku pokazuje poprawną date a na serwerze "niezrozumiałym" pokazuje środa, 31 grudnia 1969, g. 23:0:0.

Wersję odporną na rok 2000 sporządził Piotr Kiraga.

Skopiuj poniższy kod


W ramach BODY

<script language="JavaScript">
function initArray()
{
this.length = initArray.arguments.length
for (var i=0;i<this.length;i++)
this[i+1] = initArray.arguments[i]
} // end initArray.

var DOWArray = new initArray("niedziela", "poniedziałek", "wtorek", "środa",
"czwartek", "piątek", "sobota");
var MOYArray = new initArray("stycznia", "lutego", "marca", "kwietnia", "maja",
"czerwca", "lipca", "sierpnia","września", "października", "listopada",
"grudnia");
var LastModDate = new Date(document.lastModified);

var i; //zmienna pomocnicza do sprawdzania y2kbug

document.write("<b>Ostatnia aktualizacja strony</b>:<br>");
document.write(DOWArray[(LastModDate.getDay()+1)],", ");
document.write(LastModDate.getDate()," ");
document.write(MOYArray[(LastModDate.getMonth()+1)]," ");

//START sprawdzanie wyswietlania daty przez przegladarki IE i NN
i=LastModDate.getYear();
if (i<1900) {i=i+1900;}
document.write(i,",");
//STOP sprawdzanie wyswietlania daty przez przegladarki IE i NN

</script>