Membangun Aplikasi Interaktif

Isi

Tanggal Dasar

Metode objek tanggal

Rancang penghitung waktu mundur

Tanggal Dasar

⏳ Pengenalan

Date() digunakan untuk memproses tanggal dan waktu.

Date() adalah fungsi konstruktor, sehingga harus dibuat instance-nya sebelum digunakan. Artinya, objek tanggal harus dibuat menggunakan new . Outputnya dalam format "Fri Apr 07 2023 20:18:50 GMT-0400 (Eastern Daylight Time)"

const date = new Date()

Kembalikan waktu saat ini — tanpa argumen

Untuk mendapatkan waktu saat ini, tidak perlu meneruskan argumen apa pun ke fungsi. Cukup panggil fungsinya secara langsung.

const nowDate = new Date(); 
console.log(nowDate)
// output: Fri Apr 07 2023 20:18:50 GMT-0400 (Eastern Daylight Time)

Untuk mendapatkan waktu tertentu, kita harus memberikan parameter ke fungsi. Dua cara penulisan parameter antara lain:

  • String (umum digunakan): mis. '2023–01–01 12:00:00'
  • const oneDate = new Date('2023-01-01 12:00:00');
    console.log(oneDate) 
    // OUTPUT: Sun Jan 01 2023 12:00:00 GMT-0500 (Eastern Standard Time)
    

    const oneDate = new Date(2023, 1, 1);
    console.log(oneDate) 
    // OUTPUT: Wed Feb 01 2023 00:00:00 GMT-0500 (Eastern Standard Time)
    

Bisakah Anda memprediksi output dari kode berikut?

const oneDate = new Date(2023, 10, 31);
console.log(oneDate)

B. Sel 31 Okt 2023 00:00:00 GMT-0400 (Waktu Musim Panas Timur)

C. Rab 01 Nov 2023 00:00:00 GMT-0400 (Waktu Musim Panas Timur)

D. Jum 31 Nov 2023 00:00:00 GMT-0400 (Waktu Musim Panas Timur)

❗ Jawabannya adalah A !

Mengapa?

Tanggal baru (2023, 10, 31) membuat objek Tanggal baru dengan tahun 2023, bulan 10 (yang mewakili November), dan hari 31. Namun, karena November hanya memiliki 30 hari, objek Tanggal akan "berguling" ke 1 Desember, itulah sebabnya kami mendapatkan Jumat 01 Desember 2023 00:00:00 GMT-0500 (Waktu Standar Timur) sebagai hasilnya.

Untuk membuat objek Date pada 31 Oktober 2023, kita perlu menggunakan new Date(2023, 9, 31) :

const oneDate = new Date(2023, 9, 31);
console.log(oneDate)
// OUTPUT: Tue Oct 31 2023 00:00:00 GMT-0400 (Eastern Daylight Time)

grup 'dapatkan '

grup 'get' dapat digunakan untuk mengambil bagian tertentu dari objek tanggal.

⭐ dapatkan tahun, bulan, tanggal, hari, jam, menit, dan detik

const date = new Date('2023/01/01 12:00:00'); 
console.log(date) // Sun Jan 01 2023 12:00:00 GMT-0500 (Eastern Standard Time)
console.log(`Year: `, date.getFullYear()) // Year:  2023
console.log(`Month (error): `, date.getMonth()) // Month (error):  0
console.log(`Month: `, date.getMonth()+1) // Month:  1
console.log(`Date: `, date.getDate()) // Date:  1
console.log(`Day: `, date.getDay()) // Day:  0 
console.log(`Hour: `, date.getHours()) // Hour:  12
console.log(`Minutes: `, date.getMinutes()) // Minutes:  0
console.log(`Seconds: `, date.getSeconds()) // Seconds:  0

Ada empat cara untuk mendapatkan stempel waktu:

  • Objek Tanggal menghitung waktu dalam milidetik sejak 1 Januari 1970 (Waktu Universal Terkoordinasi atau UTC) .
  • Karena milidetik memberikan presisi yang lebih tinggi dan unik, milidetik dapat digunakan untuk enkripsi.
  • console.log(`getTime(): `,date.getTime('2023/01/01 12:00:00')) // getTime():  1672592400000
    console.log(`valueOf(): `,date.valueOf('2023/01/01 12:00:00')) // valueOf():  1672592400000
    console.log(`+new Date: `,+new Date('2023/01/01 12:00:00')) // +new Date:  1672592400000
    console.log(`Date.now(): `,Date.now()) // Date.now():  1680914979729
    

⭐ atur tahun, bulan, tanggal, jam, menit, dan detik

Catatan: kita tidak perlu mengatur hari!

date.setFullYear(2023);
date.setMonth(0);
date.setDate(1);
date.setHours(12);
date.setMinutes(0);
date.setSeconds(0);
console.log(date) // Sun Jan 01 2023 12:00:00 GMT-0500 (Eastern Standard Time)

date.setTime(1672592400000);
console.log(date) //Sun Jan 01 2023 12:00:00 GMT-0500 (Eastern Standard Time)

Kami sering melihat halaman web dengan penghitung waktu mundur di aplikasi belanja, jadi bagaimana kami merancang fungsi hitung mundur?

⌛ Rumus dasar

Berikut beberapa rumus dasar untuk mengonversi milidetik menjadi hari, jam, menit, dan detik:

const day = milliseconds / 1000 / 60 / 60 / 24;
const hour = milliseconds / 1000 / 60 / 60 % 24;
const minute = milliseconds / 1000 / 60 % 60;
const second = milliseconds / 1000 % 60;

Berikut adalah fungsi hitung mundur:

const countDown = (time) => {
  const nowTime = +new Date(); // Returns the number of milliseconds for the current time
  const dueTime = +new Date(time); // Returns the number of milliseconds for the user-set due time
  const timeDiff = dueTime - nowTime; // Returns the difference in milliseconds between the two times
  let day = Math.floor(timeDiff / 1000 / 60 / 60 / 24);
  let hour = Math.floor(timeDiff / 1000 / 60 / 60 % 24);
  let minute = Math.floor(timeDiff / 1000 / 60 % 60);
  let second = Math.floor(timeDiff / 1000 % 60);

  // Add a leading 0 if a number is less than 10
  day = day < 10 ? '0' + day : day;
  hour = hour < 10 ? '0' + hour : hour;
  minute = minute < 10 ? '0' + minute : minute;
  second = second < 10 ? '0' + second : second;

  return `${day}:${hour}:${minute}:${second}`;
}

console.log(countDown('2023-03-21 12:00:00'))

[1] Buat penghitung waktu mundur hanya dalam 18 baris javascript — Sitepoint . (2020, 1 Juni).https://www.sitepoint.com/build-javascript-countdown-timer-no-dependencies/

[2] Tanggal dan waktu .https://javascript.info/date

[3] Tanggal — Javascript | mdn . (2023, 21 Februari).https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

[4] Cara membuat penghitung waktu mundur .https://www.w3schools.com/howto/howto_js_countdown.asp

[5] Javascript | tanggal . Codecademy.https://www.codecademy.com/resources/docs/javascript/dates

[6] Referensi tanggal Javascript .https://www.w3schools.com/jsref/jsref_obj_date.asp

[7] Ninja. Aplikasi Beli Terbaik

Suggested posts

Sumber daya pengkodean saya yang paling sering digunakan

Sumber daya pengkodean saya yang paling sering digunakan

Minggu ini, saya menerima email dari anggota daftar email harian. Mereka ingin tahu: Sumber daya apa yang Anda kunjungi setiap hari, setiap minggu, dan setiap bulan? Pertanyaan bagus! Saya senang untuk mencoba membagikan beberapa wawasan tentang alur kerja saya & sumber daya teratas yang saya gunakan.

Seri pustaka lit — 1: Mendalami Pustaka lit-html

Seri pustaka lit — 1: Mendalami Pustaka lit-html

Tujuan dari rangkaian blog ini adalah untuk mendalami library Lit dan mendapatkan pemahaman komprehensif tentang fitur uniknya dan bagaimana Lit membedakan dirinya dari library dan framework lain di pasar. Serial ini dibagi menjadi tiga bagian, mencakup topik-topik seperti 1.

Related posts

Cara Menyelamatkan Planet dan Menghasilkan Uang

Cara Menyelamatkan Planet dan Menghasilkan Uang

Berapa kali Anda membuang botol plastik, toples kaca, kaleng aluminium, atau paket energi hijau tanpa berpikir dua kali? Berapa kali Anda berharap bisa mendapatkan sesuatu sebagai imbalan untuk mendaur ulangnya? Jika Anda seperti kebanyakan orang, jawabannya mungkin berkali-kali. Daur ulang sering dianggap merepotkan, tugas, atau tugas yang tidak membawa manfaat langsung atau nyata.

Dua tahun dalam desain- Yang baik, buruk, dan jelek…

Dua tahun dalam desain- Yang baik, buruk, dan jelek…

“Hai Siri, mainkan Me Dive oleh Olivia Dean.” Saat itu Mei 2021 ketika saya memulai magang di Future Academy Africa di Akure, Nigeria.

Kebohongan Koboi

Bagaimana perusahaan besar menjual kebohongan besar kepada orang Amerika

Kebohongan Koboi

Ini adalah pagi keemasan yang cemerlang di perbukitan barat, saat sinar pertama matahari menyinari rerumputan beku di dataran. Kawanan sapi Angus yang tenang, hitam legam dan besar, membentuk siluet melawan matahari terbit saat mereka menyusuri jalan setapak menuju lokasi yang mereka semua kenal dengan baik; bar sarapan.

Mengapa beberapa pekerja lepas memalsukan hidup mereka

Mengapa beberapa pekerja lepas memalsukan hidup mereka

Saya baru-baru ini berada di Linkedin, jejaring sosial profesional terbesar di dunia, dan menemukan postingan dari desainer lepas yang saya ikuti yang menarik perhatian saya. Mereka semua memposting foto dari pesawat terbang, di pantai dengan laptop mereka, dari kolam renang, dan kantor dengan pemandangan menakjubkan.