Mari temui objek bawaan baru. Tanggal. Ini menyimpan tanggal, waktu dan menyediakan metode untuk manajemen tanggal/waktu Show Misalnya, kita dapat menggunakannya untuk menyimpan waktu pembuatan/modifikasi, untuk mengukur waktu, atau hanya untuk mencetak tanggal saat ini Untuk membuat objek 3 baru, panggil 4 dengan salah satu argumen berikut _4Tanpa argumen – buat objek _3 untuk tanggal dan waktu saat ini _ _7Buat objek _3 dengan waktu yang sama dengan jumlah milidetik (1/1000 detik) yang berlalu setelah 1 Januari 1970 UTC+0
Bilangan bulat yang mewakili jumlah milidetik yang telah berlalu sejak awal tahun 1970 disebut stempel waktu Ini adalah representasi numerik ringan dari sebuah tanggal. Kami selalu dapat membuat tanggal dari stempel waktu menggunakan 9 dan mengonversi objek 3 yang ada menjadi stempel waktu menggunakan metode 1 (lihat di bawah)Tanggal sebelum 01. 01. 1970 memiliki stempel waktu negatif, mis. g
_2Jika ada satu argumen, dan itu adalah sebuah string, maka itu akan diuraikan secara otomatis. Algoritmanya sama dengan penggunaan _3, kami akan membahasnya nanti
_4Buat tanggal dengan komponen yang diberikan di zona waktu lokal. Hanya dua argumen pertama yang wajib
Contohnya
Presisi maksimal adalah 1 ms (1/1000 detik)
Ada metode untuk mengakses tahun, bulan, dan seterusnya dari objek 3getFullYear()Dapatkan tahun (4 digit)getMonth()Dapatkan bulan, dari 0 hingga 11. getDate()Dapatkan hari dalam sebulan, dari 1 hingga 31, nama metodenya terlihat sedikit aneh. getHours(), getMinutes(), getSeconds(), getMilliseconds()Dapatkan komponen waktu yang sesuaiBukan Banyak mesin JavaScript menerapkan metode non-standar 7. Metode ini sudah usang. Terkadang mengembalikan 2 digit tahun. Tolong jangan pernah menggunakannya. Ada _8 untuk tahun iniSelain itu, kita bisa mendapatkan hari dalam seminggu getDay()Dapatkan hari dalam seminggu, dari 0 (Minggu) hingga 2 (Sabtu). Hari pertama selalu hari Minggu, di beberapa negara tidak demikian, tetapi tidak dapat diubahSemua metode di atas mengembalikan komponen relatif ke zona waktu lokal Ada juga mitra UTC mereka, yang mengembalikan hari, bulan, tahun, dan seterusnya untuk zona waktu UTC+0. getUTCFullYear(), getUTCMonth(), getUTCDay(). Cukup masukkan _3 tepat setelah 4Jika zona waktu lokal Anda bergeser relatif terhadap UTC, maka kode di bawah menunjukkan jam yang berbeda
Selain metode yang diberikan, ada dua metode khusus yang tidak memiliki varian UTC getTime()Mengembalikan stempel waktu untuk tanggal – sejumlah milidetik berlalu sejak 1 Januari 1970 UTC+0 getTimezoneOffset()Mengembalikan selisih antara UTC dan zona waktu lokal, dalam hitungan menit
Metode berikut memungkinkan untuk mengatur komponen tanggal/waktu
Setiap dari mereka kecuali _3 memiliki varian UTC, misalnya. 4Seperti yang bisa kita lihat, beberapa metode dapat mengatur beberapa komponen sekaligus, misalnya 5. Komponen yang tidak disebutkan tidak dimodifikasiContohnya
Koreksi otomatis adalah fitur yang sangat berguna dari 3 objek. Kami dapat menetapkan nilai di luar jangkauan, dan itu akan menyesuaikan sendiri secara otomatisContohnya
Komponen tanggal di luar jangkauan didistribusikan secara otomatis Katakanlah kita perlu menambah tanggal "28 Feb 2016" menjadi 2 hari. Mungkin "2 Mar" atau "1 Mar" dalam kasus tahun kabisat. Kita tidak perlu memikirkannya. Tambah 2 hari saja. Objek 3 akan melakukan sisanya 0Fitur tersebut sering digunakan untuk mendapatkan tanggal setelah jangka waktu tertentu. Misalnya, mari dapatkan tanggal untuk "70 detik setelah sekarang" 1Kami juga dapat menetapkan nilai nol atau bahkan negatif. Sebagai contoh 2Saat objek 3 diubah menjadi angka, itu menjadi stempel waktu yang sama dengan 1 3Efek samping yang penting. tanggal dapat dikurangi, hasilnya adalah selisihnya dalam ms Itu bisa digunakan untuk pengukuran waktu 4Jika kita hanya ingin mengukur waktu, kita tidak membutuhkan objek 3Ada metode khusus _1 yang mengembalikan stempel waktu saat iniSecara semantik setara dengan _2, tetapi tidak membuat objek perantara 3. Jadi lebih cepat dan tidak menekan pengumpulan sampahIni digunakan sebagian besar untuk kenyamanan atau ketika kinerja penting, seperti dalam game di JavaScript atau aplikasi khusus lainnya Jadi ini mungkin lebih baik 5Jika kita menginginkan tolok ukur yang andal dari fungsi yang membutuhkan CPU, kita harus berhati-hati Misalnya, mari kita ukur dua fungsi yang menghitung selisih antara dua tanggal. mana yang lebih cepat? Pengukuran kinerja seperti itu sering disebut "tolok ukur" 6Keduanya melakukan hal yang persis sama, tetapi salah satunya menggunakan 1 eksplisit untuk mendapatkan tanggal dalam ms, dan yang lainnya bergantung pada transformasi tanggal ke angka. Hasil mereka selalu samaJadi, mana yang lebih cepat? Ide pertama mungkin menjalankannya berkali-kali berturut-turut dan mengukur perbedaan waktu. Untuk kasus kami, fungsinya sangat sederhana, jadi kami harus melakukannya setidaknya 100.000 kali Mari mengukur 7Wow. Menggunakan _5 jauh lebih cepat. Itu karena tidak ada konversi jenis, lebih mudah bagi mesin untuk mengoptimalkanOke, kita punya sesuatu. Tapi itu belum menjadi patokan yang bagus Bayangkan pada saat menjalankan 6 CPU sedang melakukan sesuatu secara paralel, dan mengambil sumber daya. Dan pada saat menjalankan _7 pekerjaan itu telah selesaiSkenario yang cukup nyata untuk OS multi-proses modern Akibatnya, tolok ukur pertama akan memiliki lebih sedikit sumber daya CPU daripada tolok ukur kedua. Itu dapat menyebabkan hasil yang salah Untuk pembandingan yang lebih andal, seluruh paket pembandingan harus dijalankan ulang beberapa kali Misalnya seperti ini _8Mesin JavaScript modern mulai menerapkan pengoptimalan lanjutan hanya untuk "kode panas" yang dieksekusi berkali-kali (tidak perlu mengoptimalkan hal yang jarang dieksekusi). Jadi, pada contoh di atas, eksekusi pertama tidak dioptimalkan dengan baik. Kami mungkin ingin menambahkan pemanasan _9Hati-hati melakukan microbenchmarking Mesin JavaScript modern melakukan banyak pengoptimalan. Mereka mungkin men-tweak hasil "pengujian buatan" dibandingkan dengan "penggunaan normal", terutama saat kami membandingkan sesuatu yang sangat kecil, seperti cara kerja operator, atau fungsi bawaan. Jadi jika Anda serius ingin memahami kinerja, silakan pelajari cara kerja mesin JavaScript. Dan kemudian Anda mungkin tidak membutuhkan microbenchmark sama sekali Paket artikel hebat tentang V8 dapat ditemukan di https. //mrale. ph Metode Tanggal. parse(str) dapat membaca tanggal dari sebuah string Format string seharusnya. 8, di mana
Varian yang lebih pendek juga dimungkinkan, seperti _9 atau 6 atau bahkan 7Panggilan ke 8 mem-parsing string dalam format yang diberikan dan mengembalikan stempel waktu (jumlah milidetik dari 1 Jan 1970 UTC+0). Jika formatnya tidak valid, kembalikan ________51______9Contohnya 0Kita dapat langsung membuat objek _0 dari timestamp _1
Perhatikan bahwa tidak seperti banyak sistem lain, stempel waktu dalam JavaScript dalam milidetik, bukan detik Terkadang kita membutuhkan pengukuran waktu yang lebih tepat. JavaScript sendiri tidak memiliki cara untuk mengukur waktu dalam mikrodetik (sepersejuta detik), tetapi sebagian besar lingkungan menyediakannya. Misalnya, browser memiliki kinerja. now() yang memberikan jumlah milidetik dari awal pemuatan halaman dengan presisi mikrodetik (3 digit setelah titik) _2Node. js memiliki modul _6 dan cara lain. Secara teknis, hampir semua perangkat dan lingkungan memungkinkan untuk mendapatkan lebih presisi, hanya saja tidak di 3
Apa yang akan dikembalikan oleh tanggal baru ()?Misalnya, new Date(2020, 5, 0) akan mengembalikan 31 Mei 2020 . Nilai integer mewakili tahun. Nilai dari 0 hingga 99 memetakan ke tahun 1900 hingga 1999. Semua nilai lainnya adalah tahun sebenarnya.
Apa yang dilakukan tanggal baru () dalam JavaScript?Objek Date adalah tipe data bawaan dari bahasa JavaScript. Ini digunakan untuk bekerja dengan tanggal dan waktu . Objek Tanggal dibuat dengan menggunakan kata kunci baru, yaitu. e. Tanggal baru(). Objek Tanggal dapat digunakan tanggal dan waktu dalam hal presisi milidetik dalam 100 juta hari sebelum atau sesudah 1/1/1970.
Apakah tanggal baru () Mengembalikan tanggal sekarang?Dalam JavaScript, kita dapat dengan mudah mendapatkan tanggal atau waktu saat ini dengan menggunakan objek Date() baru . Secara default, ini menggunakan zona waktu browser kami dan menampilkan tanggal sebagai string teks lengkap, seperti "Fri Jun 17 2022 10. 54. 59 GMT+0100 (British Summer Time)" yang berisi tanggal, waktu, dan zona waktu saat ini.
Apa yang dikembalikan tanggal baru () dalam TypeScript?Ekspresi new Date() mengembalikan waktu saat ini dalam format internal , sebagai objek yang berisi jumlah milidetik yang telah berlalu sejak awal . |