Rumah > hujung hadapan web > tutorial js > Mengapakah Pembina `Tarikh` JavaScript Menggunakan Argumen Bulan Berasaskan Sifar?

Mengapakah Pembina `Tarikh` JavaScript Menggunakan Argumen Bulan Berasaskan Sifar?

Susan Sarandon
Lepaskan: 2024-11-27 05:06:17
asal
945 orang telah melayarinya

Why Does JavaScript's `Date` Constructor Use a Zero-Based Month Argument?

Memahami Argumen Bulan dalam Pembina Tarikh JavaScript

Apabila mencipta objek Tarikh baharu dalam JavaScript, argumen bulan ditentukan menggunakan nombor dari 0 hingga 11, yang mungkin kelihatan berlawanan dengan intuisi. Keanehan ini berpunca daripada asalnya dalam Java's Date API.

Java's Legacy

Java's Date API juga menggunakan hujah bulan berasaskan sifar. Kebiasaan ini diwarisi oleh JavaScript, yang dimodelkan selepas reka bentuk Java. Brendan Eich, pencipta JavaScript, mengesahkan sambungan ini melalui Twitter:

"Kami berada di bawah pesanan mgmt 'Make It Look Like Java', dan saya mempunyai sepuluh hari untuk demo. Tiada masa untuk mencipta kami API tarikh sendiri atau betulkan Java."

Rasional

Tidak jelas mengapa Java pada mulanya memilih hujah bulan berasaskan sifar. Walau bagaimanapun, beberapa sebab boleh menyumbang kepada keputusan ini:

  • Kesederhanaan: Ia memudahkan pengiraan tarikh dengan menggunakan julat berterusan dari 0 hingga 11.
  • Ketekalan: Ia sejajar dengan pengindeksan berasaskan sifar yang digunakan dalam banyak bahasa pengaturcaraan dan data lain struktur.
  • Prestasi: Ia berpotensi meningkatkan prestasi dengan mengelakkan keperluan untuk menukar nama bulan atau singkatan kepada nombor.

Argumen Hari Bulan

Berbeza dengan hujah bulan, hujah hari bulan adalah berasaskan 1. Pilihan ini mungkin berdasarkan keinginan untuk lebih jelas dan mudah difahami. Menentukan hari sebagai nombor dari 1 hingga 31 sepadan terus dengan hari dalam bulan biasa.

Alternatif Moden

Walaupun API Tarikh JavaScript mengekalkan hujah bulan berasaskan sifar, terdapat beberapa moden alternatif yang menawarkan pengendalian tarikh yang lebih baik keupayaan:

  • Luxon
  • Moment.js
  • date-fns
  • js-joda

Ini perpustakaan menyediakan API manipulasi tarikh yang fleksibel dan intuitif, menangani batasan objek Tarikh terbina dalam.

Atas ialah kandungan terperinci Mengapakah Pembina `Tarikh` JavaScript Menggunakan Argumen Bulan Berasaskan Sifar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan