0Pricing
JavaScript Academy · Lekcja

Znaczniki czasu i działania na datach

Proszę obliczać różnice i przesunięcia między datami.

Znaczniki czasu i działania na datach to bezpłatna lekcja JavaScript Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej JavaScript Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs JavaScript Academy zawiera 4 lekcji w sumie.

Znaczniki czasu

Wewnętrznie data jest przechowywana jako znacznik czasu: liczba milisekund od epoki Unix, czyli północy 1 stycznia 1970 roku w strefie UTC.

const d = new Date("1970-01-01T00:00:00Z")
console.log(d.getTime())

Date.now

Date.now zwraca bieżący znacznik czasu w milisekundach bez tworzenia obiektu Date, dzięki czemu skutecznie nadaje się do mierzenia czasu.

const t = Date.now()
console.log(typeof t)
console.log(t > 0)

getTime

Metoda getTime zwraca datę jako znacznik czasu wyrażony w milisekundach, co przydaje się podczas porównań i obliczeń.

const d = new Date(2024, 0, 1)
console.log(typeof d.getTime())

Porównywanie dat

Dwie daty należy porównywać za pomocą ich znaczników czasu. Wcześniejsza data ma mniejszą liczbę.

const a = new Date(2024, 0, 1)
const b = new Date(2024, 5, 1)
console.log(a.getTime() < b.getTime())

Różnica w milisekundach

Odejmowanie jednej daty od drugiej konwertuje obie na znaczniki czasu i zwraca różnicę w milisekundach.

const a = new Date(2024, 0, 1)
const b = new Date(2024, 0, 2)
console.log(b - a)

Konwertowanie na dni

Podziel różnicę w milisekundach przez liczbę milisekund w dobie, aby otrzymać odstęp wyrażony w dniach.

const a = new Date(2024, 0, 1)
const b = new Date(2024, 0, 11)
const ms = b - a
const days = ms / (1000 * 60 * 60 * 24)
console.log(days)

Dodawanie czasu

Aby dodać czas, przekonwertuj datę na znacznik czasu, dodaj liczbę milisekund i utwórz na tej podstawie nową datę.

const start = new Date(2024, 0, 1)
const oneDay = 1000 * 60 * 60 * 24
const next = new Date(start.getTime() + oneDay)
console.log(next.getDate())

setDate w obliczeniach kalendarzowych

Metoda setDate dostosowuje dzień miesiąca i w razie potrzeby prawidłowo przechodzi do kolejnego miesiąca.

const d = new Date(2024, 0, 31)
d.setDate(d.getDate() + 1)
console.log(d.getMonth())
console.log(d.getDate())

Mierzenie upływu czasu

Pobierz Date.now przed operacją i po niej, a następnie odejmij te wartości, aby zmierzyć czas jej trwania w milisekundach.

const start = Date.now()
let sum = 0
for (let i = 0; i < 1000; i++) { sum += i }
const elapsed = Date.now() - start
console.log(elapsed >= 0)

Konwertowanie znacznika czasu na datę

Przekazanie znacznika czasu w postaci liczby do konstruktora Date odtwarza pierwotny moment.

const ts = 1704067200000
const d = new Date(ts)
console.log(d.getUTCFullYear())

Sekundy a milisekundy

Znaczniki czasu w JavaScript są wyrażane w milisekundach, ale wiele interfejsów API używa sekund. Aby dokonać konwersji między nimi, pomnóż lub podziel wartość przez 1000.

const seconds = 1704067200
const d = new Date(seconds * 1000)
console.log(d.getUTCFullYear())

Szybki test

Sprawdź swoją wiedzę na temat znaczników czasu.

Podsumowanie

Podsumowanie: Wewnętrznie daty są znacznikami czasu wyrażonymi w milisekundach.

  • Date.now zwraca bieżący znacznik czasu
  • Odejmuj daty, aby uzyskać różnicę w milisekundach
  • Dziel przez liczbę milisekund w dobie, aby obliczyć liczbę dni
  • JavaScript używa milisekund, a nie sekund
const a = new Date(2024, 0, 1)
const b = new Date(2024, 0, 2)
console.log(b - a)

Często zadawane pytania

Czy lekcja „Znaczniki czasu i działania na datach” jest bezpłatna?

Tak — pełny tekst „Znaczniki czasu i działania na datach” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu JavaScript Academy, przejdź na CoddyKit PRO. Kurs JavaScript Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Znaczniki czasu i działania na datach”?

Proszę obliczać różnice i przesunięcia między datami. Ćwiczysz JavaScript Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć JavaScript Academy?

Nie wymagamy żadnego doświadczenia. JavaScript Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Znaczniki czasu i działania na datach”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji JavaScript Academy?

Tak. Każda lekcja JavaScript Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Tworzenie i odczytywanie dat
  2. Znaczniki czasu i działania na datach
  3. Formatowanie dat
  4. Strefy czasowe i UTC
← Powrót do JavaScript Academy