Ayo kita bertemu dengan objek bawaan baru: Date. yang akan menyimpan tanggal, waktu dan menyediakan metode untuk manajemen tanggal/waktu. Show Contoh, kita bisa menggunakan itu untuk menyimpan pembuatan/modifikasi waktu, untuk menghitung waktu atau hanya untuk melihat tanggal sekarang. PembuatanUntuk membuat objek new Date() Tanpa argumen – membuat sebuah objek
new Date(milliseconds) Membuat sebuah objek
Sebuah angka integer merepresentasikan angka dari milidetik yang telah lewat sejak awal dari 1970 dipanggil dengan timestamp. Ini adalah angka numerik ringan yang merepresentasikan sebuah tanggal. Kita akan selalu bisa membuat tanggal dari timestamp menggunakan Tanggal sebelum 01.01.1970 mempunyai timestamp yang negatif, contoh.:
new Date(datestring) Jika terdapat sebuah argumen tunggal, dan itu adalah sebuah string, lalu itu akan diurai secara otomatis. Algoritmanya sama dengan yang digunakan
new Date(year, month, date, hours, minutes, seconds, ms) Membuat waktu dengan komponen yang diberikan dari zona waktu lokal. Hanya dua argument pertama yang wajib.
Contoh:
Presisi paling minimal adalah 1ms (1/1000 detik):
Mengakses komponen tanggalTerdapat beberapa metode untuk mengakses tahun, bulan dan lainnya dari objek Bukan
Banyak mesin Javascript mengimplementasikan metode yang tidak-standar Sebagai tambahan, kita bisa mendapatkan hari dari minggu: getDay()Dapatkan hari dari minggu, dimulai dari0 (Minggu) to 6 (Sabtu). Hari pertama akan selalu Minggu, di beberapa negara bukanlah minggu, dan tidak bisa diubah.Semua metode diatas mengembalikan komponen yang bersangkutan dengan zona waktu lokal. Juga terdapat pasangan-UTC, yang mengembalikan hari bulan, tahun dan lainnya untuk zona waktu UTC+0:
getUTCFullYear(), getUTCMonth(), getUTCDay(). Hanya dengan memasukan Jika zona waktu lokal kamu diubah menjadi zona yang berhubungan dengan UTC, maka kode dibawah akan menunjukan waktu yang berbeda.
Disamping metode yang diberikan, disana terdapat dua yang spesial yang tidak memiliki variasi waktu UTC: getTime()Mengembalikan timestamp untuk tanggal – sebuah angka dari milidetik yang telah terlewat sejak 1 Januari 1970 UTC+0 getTimezoneOffset()Mengembalikan perbedaan diantara UTC dan zona waktu lokal, dalam menit:
Menyetel komponen tanggalMetode berikut memperbolehkan kita untuk menyetel komponen tanggal/waktu:
Semuanya kecuali salah satunya yaitu Seperti yang bisa kita lihat, beberapa metode bisa menyetel beberapa komponen sekaligus, untuk contoh Contoh:
Koreksi otomatisKoreksi otomatis adalah fitur yang sangat berguna dari objek Contoh:
komponen tanggal yang diluar jangkauan akan diganti secara otomatis. Kita bisa berkata untuk menambah tanggal “28 feb 2016” dengan 2 hari. Itu mungkin akan “2 maret” atau “1 maret” didalam kasus tahun kabisat. Kita tidak perlu memikirkan hal itu. Tinggal tambah 2 hari. Objek
Fitur itu sering digunakan untuk mendapatkan tanggal setelah diberikan waktu yang ditentukan, coba dapatkan tanggal “70 detik setelah saat ini”:
Kita juga bisa menyetel nol atau bahkan nilai negatif. Contoh:
Tanggal menjadi angka, perbedaan tanggalKetika sebuah objek
Efek yang perlu diperhatikan: tanggal bisa dikurangi, hasilnya adalah perbedaan dalam milidetik. Hal itu bisa gunakan untuk mengukur waktu:
Date.now()Jika kita ingin mengukur waktu, kita tidak butuh objek Terdapat metode spesial Itu secara semaktik sama dengan Kebanyakan itu digunakan untuk kenyamanan atau ketika performansi menjadi hal yang diperhatikan, seperti permainan didalam Javascript atau aplikasi yang terspesialisasi lainnya. Jadi ini mungkin lebih baik:
Menguji kemampuan / BenchmarkingJika kita ingin kemampuan yang dapat diandalkan dari fungsi yang haus akan sumberdaya CPU, kita harus hati-hati. Contoh, coba kita bandingkan dua fungsi yang mengkalkulasikan perbedaan diantara dua tanggal: yang mana yang lebih cepat? Pengukurang performa seperti itu sering disebut dengan “benchmarks”.
kedua fungsi itu melakukan hal yang sama persis, tapi satu dari mereka menggunakan Jadi, yang mana yang lebih cepat? Cara sederhananya mungkin menjalankan mereka beberapa kali dan menghitung perbedaan waktunya. Untuk kasus ini, fungsi sangatlah sederhana, jadi kita hanya harus melakukannya setidaknya 100000 kali. Ayo kita hitung:
Wow! Menggunakan Oke, kita punya sesuatu. Tapi itu bukanlah sebuah pengujian kemampuan yang bagus. Bayangkan itu pada saat menjalankan Sebuah skenario nyata untuk Sistem Operasi multi-proses yang modern. Sebagai sebuah hasil, pengujian kemampuan pertama mempunyai sedikit sumberdaya CPU daripada yang kedua. Itu mungkin akan mengakibatkan hasil menjadi keliru. Untuk pengujian yang lebih dapat diandalkan, seluruh pengujian harus dijalankan beberapa kali. Contoh, seperti ini:
Mesin Javascript yang modern mulai menggunakan optimasi yang tinggi hanya untuk “hot code” yang dieksekusi beberapa kali (tidak butuh untuk optimasi hal yang jarang dieksekusi). Jadi, dalam contoh diatas, eksekusi pertama tidak benar-benar di optimasi. Kita mungkin butuh menambah sebuah pemanasan:
Berhati-hati saat melakukan microbenchmarking/pengujian kemampuan micro Mesin Javascript modern melakukan banyak optimasi. mereka mungkin merekayasa hasil dari “test buatan” dibandingkan dengan “pemakaian normal”, terutama ketika kita mengukur kemampuan sesuatu yang sangat kecil, seperti bagaimana operator bekerja, atau fungsi bawaan. Jadi jika kamu sangat serius ingin mengerti tentang performansi, maka pelajarilah bagaiman mesin Javascript bekerja. dan maka kamu mungkin tidak butuh microbenchmarking sama sekali Kumpulan artikel yang bagus tentang V8 bisa ditemukan di http://mrale.ph. Date.parse dari sebuah stringMetode Date.parse(str) bisa membaca tanggal dari sebuah string. Bentuk dari string haruslah:
Varian yang lebih pendek juga bisa, seperti Pemanggilan Contoh:
Kita bisa secara instan membuat sebuah objek
Ringkasan
Perhatikan tidak seperti sistem lainnya, timestamp didalam Javascript adalah dalam milidetik, bukan dalam detik. Terkadang kita ingin pengukuran yang lebih teliti. Javascript sendiri tidak mendukung cara untuk mengukur waktu didalam microdetik (1 juta dalam satu detik), tapi kebanyakan lingkungan menyediakannya. Contoh, peramban punya performance.now() yang memberikan angka milidetik dari awal halaman dimuat dengan ketepatan microdetik (3 angka setelah titik):
Node.js punya modul |