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
- Tworzenie i odczytywanie dat
- Znaczniki czasu i działania na datach
- Formatowanie dat
- Strefy czasowe i UTC