MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

 

Obiekt Date

JavaScript nie posiada danych typu date. Jednakże, możesz użyć obiektu Date i jego metod do pracy z datami i czasem w swoich aplikacjach. Obiekt Date posiada wiele metod do ustawiania, pobierania i manipulacji datami. Nie posiada żadnych właściwości.

W JavaScript uchwyty dat są podobne jak w Java. Oba języki mają wiele takich samych metod i oba języki przechowują daty w liczbie milisekund od 1-ego stycznia 1970, 00:00:00.

Obiekt Date jest z zakresu -100,000,000 dni do 100,000,000 dni odnosząc się do 01 stycznia, 1970 UTC.

Do utworzenia obiektu Date służy:

dateObjectName = new Date([parameters])

gdzie: dateObjectName jest nazwą tworzonego obiektu; Date potrafi też być nowym obiektem lub właściwością już istniejącego obiektu.

W poprzedniej składni parameters mogły być:

  • Niczym: tworzyć dzisiejszą datę i czas. Na przykład: today = new Date().
  • Łańcuchem reprezentującym datę w następujących formach: "Month day, year hours:minutes:seconds." Na przykład:, Xmas95 = new Date("December 25, 1995 13:30:00"). Jeśli opuszczasz godziny, minuty lub sekundy to wartość ich będzie ustawiona na zero.
  • Ustawienia wartości liczby całkowitej dla roku, miesiąca i dnia. Na przykład, Xmas95 = new Date(1995,11,25). Ustawienia wartości dla roku, miesiąca, dnia, godziny, minuty, sekund. Na przykład: Xmas95 = new Date(1995,11,25,9,30,0).

JavaScript 1.2 i wcześniejsze
Obiekt Date postępuje następująco:

  • Daty z przed roku 1970 nie są uznawane.
  • Data w JavaScript zależy od dostępności i zachowania rodzaju platformy; zachowanie platform obiektu Date różnią się pomiędzy sobą.

Metody obiektu Date

Metody obiektu Date są do obsługi daty i czasu zawartego w tych obszernych kategoriach:

  • metody "set", służy do ustawienia wartości daty i czasu w obiektach Date.
  • metody "get", służą do pobrania wartości daty i czasu w obiektach Date.
  • metody "to", służy do powtórzenia łańcuchów wartości z obiektów Date.
  • parsowanie i metody UTC, służą do analizy składniowej łańcuchów Date.

Z metodami "get" i "set" możemy pobrać i ustawić sekundy, minuty, godziny, dni miesiąca, dni tygodnia, miesiące, jak i poszczególne lata. Istnieje metoda getDay, która zwraca dzień tygodnia, ale nie współpracuje z metodą setDay, ponieważ dzień tygodnia jest ustawiany automatycznie. Te metody używają liczb całkowitych do reprezentacji następujących wartości:

  • Sekund /i minut: 0 do 59
  • Godziny: 0 do 23
  • Dzień: 0 (Niedziela) do 6 (Sobota)
  • Data: 1 do 31 (dzień miesiąca)
  • Miesiące: 0 (Styczeń) do 11 (Grudzień)
  • Lata: lata od 1900

Na przykład, przypuśćmy, że zdefiniowałeś następującą datę:

Xmas95 = new Date("December 25, 1995")

Następnie Xmas95.getMonth() zwraca 11, i Xmas95.getFullYear() zwraca 1995.

Metody getTime i setTime są użyteczne dla porównania dat. Metoda getTime zwraca liczbę milisekund od 1 stycznia 1970, 00:00:00 ( January 1, 1970, 00:00:00 ) dla obiektu Date.

Na przykład, następujący kod wyświetla liczbę dni opuszczonych w aktualnym roku:

today = new Date()
endYear = new Date(1995,11,31,23,59,59,999) // Ustawia dni i miesiące
endYear.setFullYear(today.getFullYear()) // Ustawia ilość lat '''(?)'''
msPerDay = 24 * 60 * 60 * 1000 // Liczba milisekund na dzień
daysLeft = (endYear.getTime() - today.getTime()) / msPerDay
daysLeft = Math.round(daysLeft) //zwraca dni opuszczone dni w roku

Ten przykład stworzył obiekt Date nazywany today, który stanowi dzisiejszą datę. Następnie utworzył obiekt Date nazwany endYear i ustawi się od roku do aktualnego roku. Następnie, użyje liczbę milisekund na dzień, to obliczy liczbę dni pomiędzy dzisiejszym dniem today a endYear, używających getTime i zaokrąglenie do liczby dni.

Metoda parse jest użyteczna dla przydzielania wartości z łańcucha daty do wykorzystania przez obiekty Date. Na przykład, następujący kod używa parse i setTime do przydzielenia wartości obiektu IPOdate:

IPOdate = new Date()
IPOdate.setTime(Date.parse("Aug 9, 1995"))

Używanie obiektu Date: Przykład

W następującym przykładzie, funkcja JSClock() zwraca czas w formacie zegara cyfrowego.

function JSClock() {
   var time = new Date()
   var hour = time.getHours()
   var minute = time.getMinutes()
   var second = time.getSeconds()
   var temp = "" + ((hour > 12) ? hour - 12 : hour)
   if (hour == 0)
      temp = "12";
   temp += ((minute < 10) ? ":0" : ":") + minute
   temp += ((second < 10) ? ":0" : ":") + second
   temp += (hour >= 12) ? " P.M." : " A.M."
   return temp
}

Pierwsza funkcja JSClock tworzy nowy obiekt Date, który nazywany jest time; nie dający argumentów, czas jest tworzony z aktualną datą i czasem. Następnie metody getHours, getMinutes, i getSeconds przypisują wartości aktualnej godziny, minuty i sekundy do hour, minute, i second.

Następne cztery linijki instrukcji budują łańcuch wartości oparty na czasie. Pierwsza instrukcja tworzy zmienne temp, przydzielając jej wartość używanego warunku wyrażenia; jeśli hour jest wyższa niż 12, (godzina - 12), w innym przypadku prosta godzina, chyba że jest godzina 0, która to staje się 12.

Następna instrukcja przypisuje wartość minute do temp. Jeśli wartość minute jest mniejsza niż 10, wyrażenie warunkowe dodaje łańcuch z poprzedzającym ją zerem; w innym przypadku dodaje rozgraniczający dwukropek. Następnie instrukcja dołącza sekundy do temp w ten sam sposób.

Kończąc, wyrażenie warunkowe dołącza "PM" do temp, jeśli hour posiada wartość 12 lub wyższą; w innym przypadku, to dołącza "AM" do temp.

Autorzy i etykiety dokumentu

 Autorzy tej strony: teoli, Mgjbot, Ptak82
 Ostatnia aktualizacja: teoli,