cari
Rumahhujung hadapan webtutorial jsHancurkan Pemformatan Tarikh dan Masa Secara Asli: Lepaskan Kuasa Tersembunyi Intl.DateTimeFormat

Crush Date and Time Formatting Natively: Unleash the Hidden Power of Intl.DateTimeFormat

Pengenalan kepada API Antarabangsa Asli

API Antarabangsa dalam JavaScript ialah penyelesaian yang berkuasa dan asli untuk mengendalikan penyetempatan dan pemformatan data seperti tarikh, nombor dan teks dalam pelbagai bahasa. Tidak seperti kebanyakan perpustakaan pihak ketiga, API ini menawarkan:

  • Prestasi tinggi: Disepadukan ke dalam enjin JavaScript.

  • Saiz berkas yang lebih kecil: Menghilangkan keperluan untuk kebergantungan luaran.

  • Sokongan global: Termasuk penyetempatan untuk pelbagai bahasa dan wilayah.

Tidak seperti perpustakaan luaran, API asli tidak memerlukan kemas kini atau penyelenggaraan oleh pembangun. Selain itu, ia dioptimumkan untuk enjin JavaScript asas, memberikan pendekatan yang lebih ringan dan lebih pantas untuk penyetempatan dan pemformatan.

Dalam artikel ini, kami akan menumpukan pada Intl.DateTimeFormat, API khusus untuk memformat tarikh dan masa berdasarkan penyetempatan yang dikehendaki. Kita akan melihat bagaimana API ini boleh menggantikan perpustakaan popular seperti Moment.js, date-fns atau Day.js untuk keperluan pemformatan, menawarkan alternatif moden dan asli.


Perihalan Intl.DateTimeFormat

Intl.DateTimeFormat ialah kelas yang membenarkan pemformatan setempat tarikh dan masa. Ia menyediakan ciri lanjutan seperti sokongan untuk penyetempatan yang berbeza, format yang boleh disesuaikan dan pengendalian kalendar alternatif dan zon waktu.


Mencipta Pemformat

Pemformat ialah contoh Intl.DateTimeFormat yang menyimpan konfigurasi khusus untuk pemformatan tarikh. Dengan menggunakan pemformat, anda boleh menggunakan format yang sama berulang kali pada tarikh yang berbeza, menjadikan kod anda lebih cekap dan boleh dibaca.

Untuk mencipta pemformat, gunakan pembina Intl.DateTimeFormat dengan parameter yang dikehendaki:

const formatter = new Intl.DateTimeFormat(locale, options);
  • locale: Rentetan yang mentakrifkan penyetempatan (cth., "en-US" untuk Bahasa Inggeris Amerika, "it-IT" untuk Itali).

  • pilihan: Objek pilihan untuk menentukan komponen tarikh (cth., hari bekerja, bulan, tahun, dll.).

Walaupun adalah perkara biasa untuk menyimpan contoh pemformat dalam pembolehubah untuk digunakan semula, langkah ini tidak diperlukan sepenuhnya. Pembina Intl.DateTimeFormat boleh digunakan terus untuk memformat tarikh sebaris, seperti yang ditunjukkan di bawah:

console.log(new Intl.DateTimeFormat('en-US', { year: 'numeric', month: 'long', day: 'numeric' }).format(new Date(2024, 11, 19)));
// Output: "December 19, 2024"

Walau bagaimanapun, mencipta contoh pemformat menjadi amat berguna apabila format yang sama perlu digunakan pada berbilang tarikh, meningkatkan ketekalan kod dan mengelakkan lebihan:

const formatter = new Intl.DateTimeFormat(locale, options);

Contoh Asas: Bermula dengan Intl.DateTimeFormat

Terokai kesederhanaan dan kuasa Intl.DateTimeFormat dengan contoh asas ini. Kami akan menunjukkan cara membuat pemformat untuk format lalai dan tersuai yang boleh digunakan semula merentas aplikasi anda.

1. Pemformatan Lalai

Jika tiada pilihan disediakan, pemformat menggunakan format lalai tempat yang dipilih.

console.log(new Intl.DateTimeFormat('en-US', { year: 'numeric', month: 'long', day: 'numeric' }).format(new Date(2024, 11, 19)));
// Output: "December 19, 2024"

2. Pemformatan Tersuai

Sesuaikan output dengan menyatakan pilihan yang diingini.

const formatter = new Intl.DateTimeFormat('en-US', {
  year: 'numeric',
  month: 'long',
  day: 'numeric'
});

console.log(formatter.format(new Date(2024, 11, 19))); // Output: "December 19, 2024"
console.log(formatter.format(new Date(2023, 5, 15))); // Output: "June 15, 2023"

Contoh Lanjutan: Membuka Potensi Penuh Intl.DateTimeFormat

Ambil pemformatan tarikh dan masa anda ke peringkat seterusnya dengan senario lanjutan, seperti mengendalikan berbilang penyetempatan, kalendar alternatif dan zon waktu. Contoh ini mempamerkan kepelbagaian dan kebolehsuaian Intl.DateTimeFormat dalam aplikasi yang kompleks.

1. Mengendalikan Penyetempatan Berbeza

const date = new Date(2024, 11, 19);
const formatter = new Intl.DateTimeFormat('en-US');
console.log(formatter.format(date)); // Output: "12/19/2024"

2. Memformat dengan Kalendar Alternatif

const date = new Date(2024, 11, 19);
const formatter = new Intl.DateTimeFormat('en-US', {
  weekday: 'long',
  year: 'numeric',
  month: 'long',
  day: 'numeric'
});
console.log(formatter.format(date)); // Output: "Thursday, December 19, 2024"

3. Mengendalikan Zon Masa

const date = new Date(2024, 11, 19);
const italianFormatter = new Intl.DateTimeFormat('it-IT', {
  weekday: 'long',
  year: 'numeric',
  month: 'long',
  day: 'numeric'
});
console.log(italianFormatter.format(date)); // Output: "giovedì 19 dicembre 2024"

TypeScript dan Intl.DateTimeFormat

Menggunakan Intl.DateTimeFormat dengan TypeScript memastikan keselamatan jenis dan pengalaman pembangunan yang lebih baik. Takrif TypeScript untuk Intl.DateTimeFormat terbina dalam, menyediakan autolengkap dan dokumentasi untuk kaedah dan sifatnya.

Ini contohnya:

const islamicFormatter = new Intl.DateTimeFormat('ar-SA-u-ca-islamic');
console.log(islamicFormatter.format(new Date(2024, 11, 19))); // Output: Date in the Islamic calendar

Penaipan yang ketat membantu mengelakkan ralat masa jalan dengan menangkap isu yang berpotensi pada masa penyusunan, seperti pilihan yang salah atau panggilan kaedah.


Perbandingan dengan Perpustakaan Popular

Mengapa Pertimbangkan Intl.DateTimeFormat?

  • Ringan: Ia asli dan tidak memerlukan perpustakaan luaran, mengurangkan saiz berkas.

  • Prestasi: Selalunya lebih pantas daripada penyelesaian berdasarkan perpustakaan.

  • Penyetempatan Terbina dalam: Secara asli menyokong pelbagai bahasa dan kalendar.

Contoh: Pemformatan Mudah

Dengan Moment.js

const date = new Date(Date.UTC(2024, 11, 19, 15, 30)); // Ensure the date is set in UTC

// Formatter for UTC
const utcFormatter = new Intl.DateTimeFormat('en-US', {
  timeZone: 'UTC',
  year: 'numeric',
  month: 'short',
  day: '2-digit',
  hour: '2-digit',
  minute: '2-digit',
  timeZoneName: 'short',
});
console.log(utcFormatter.format(date)); 
// Output: "Dec 19, 2024, 03:30 PM UTC"

// Formatter for Tokyo time zone
const tokyoFormatter = new Intl.DateTimeFormat('ja-JP', {
  timeZone: 'Asia/Tokyo',
  year: 'numeric',
  month: 'short',
  day: '2-digit',
  hour: '2-digit',
  minute: '2-digit',
  timeZoneName: 'short',
});
console.log(tokyoFormatter.format(date)); 
// Output: "2024/12/20 00:30 JST"

// Formatter for Berlin time zone
const berlinFormatter = new Intl.DateTimeFormat('de-DE', {
  timeZone: 'Europe/Berlin',
  year: 'numeric',
  month: 'short',
  day: '2-digit',
  hour: '2-digit',
  minute: '2-digit',
  timeZoneName: 'short',
});
console.log(berlinFormatter.format(date)); 
// Output: "19. Dez. 2024, 16:30 MEZ"

Dengan tarikh-fns

const formatter: Intl.DateTimeFormat = new Intl.DateTimeFormat('en-US', {
  year: 'numeric',
  month: 'long',
  day: 'numeric'
});

const formattedDate: string = formatter.format(new Date(2024, 11, 19));
console.log(formattedDate); // Output: "December 19, 2024"

Dengan Day.js

const moment = require('moment');
console.log(moment("2024-12-19").format('dddd, MMMM Do YYYY'));

Dengan Intl.DateTimeFormat

const { format } = require('date-fns');
console.log(format(new Date(2024, 11, 19), 'EEEE, MMMM do yyyy'));

Walaupun perpustakaan luaran mungkin menawarkan gula sintaksis, API asli menyediakan kefungsian yang setara tanpa mengorbankan fleksibiliti atau kecekapan. Sintaks API asli yang lebih panjang sedikit ialah pertukaran kecil untuk faedahnya dalam kebolehselenggaraan, prestasi dan kesederhanaan.


Kesimpulan

Intl.DateTimeFormat menyediakan penyelesaian asli yang mantap untuk pemformatan tarikh dan masa, menjadikannya alternatif terbaik kepada perpustakaan popular seperti Moment.js, date-fns dan Day.js. Dengan prestasi tinggi, penyetempatan terbina dalam dan penyelenggaraan yang dipermudahkan, ia merupakan alat yang berharga untuk aplikasi JavaScript moden.

Untuk menyelam lebih dalam ke Intl.DateTimeFormat dan meneroka ciri tambahan, lawati Dokumen Web MDN rasmi. Di sana, anda akan menemui dokumentasi komprehensif dan contoh praktikal untuk membantu anda menguasai API yang berkuasa ini.

Atas ialah kandungan terperinci Hancurkan Pemformatan Tarikh dan Masa Secara Asli: Lepaskan Kuasa Tersembunyi Intl.DateTimeFormat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
Jenis data JavaScript: Adakah terdapat perbezaan antara penyemak imbas dan nodej?Jenis data JavaScript: Adakah terdapat perbezaan antara penyemak imbas dan nodej?May 14, 2025 am 12:15 AM

Jenis data teras JavaScript adalah konsisten dalam penyemak imbas dan node.js, tetapi ditangani secara berbeza dari jenis tambahan. 1) Objek global adalah tetingkap dalam penyemak imbas dan global di Node.js. 2) Objek penampan unik Node.js, digunakan untuk memproses data binari. 3) Terdapat juga perbezaan prestasi dan pemprosesan masa, dan kod perlu diselaraskan mengikut persekitaran.

Komen JavaScript: Panduan untuk menggunakan // dan / * * /Komen JavaScript: Panduan untuk menggunakan // dan / * * /May 13, 2025 pm 03:49 PM

JavaScriptusestWotypesofcomments: Single-line (//) danMulti-line (//)

Python vs JavaScript: Analisis Perbandingan untuk PemajuPython vs JavaScript: Analisis Perbandingan untuk PemajuMay 09, 2025 am 12:22 AM

Perbezaan utama antara Python dan JavaScript ialah sistem jenis dan senario aplikasi. 1. Python menggunakan jenis dinamik, sesuai untuk pengkomputeran saintifik dan analisis data. 2. JavaScript mengamalkan jenis yang lemah dan digunakan secara meluas dalam pembangunan depan dan stack penuh. Kedua -duanya mempunyai kelebihan mereka sendiri dalam pengaturcaraan dan pengoptimuman prestasi yang tidak segerak, dan harus diputuskan mengikut keperluan projek ketika memilih.

Python vs JavaScript: Memilih alat yang sesuai untuk pekerjaanPython vs JavaScript: Memilih alat yang sesuai untuk pekerjaanMay 08, 2025 am 12:10 AM

Sama ada untuk memilih Python atau JavaScript bergantung kepada jenis projek: 1) Pilih Python untuk Sains Data dan Tugas Automasi; 2) Pilih JavaScript untuk pembangunan front-end dan penuh. Python disukai untuk perpustakaannya yang kuat dalam pemprosesan data dan automasi, sementara JavaScript sangat diperlukan untuk kelebihannya dalam interaksi web dan pembangunan stack penuh.

Python dan javascript: memahami kekuatan masing -masingPython dan javascript: memahami kekuatan masing -masingMay 06, 2025 am 12:15 AM

Python dan JavaScript masing -masing mempunyai kelebihan mereka sendiri, dan pilihan bergantung kepada keperluan projek dan keutamaan peribadi. 1. Python mudah dipelajari, dengan sintaks ringkas, sesuai untuk sains data dan pembangunan back-end, tetapi mempunyai kelajuan pelaksanaan yang perlahan. 2. JavaScript berada di mana-mana dalam pembangunan front-end dan mempunyai keupayaan pengaturcaraan tak segerak yang kuat. Node.js menjadikannya sesuai untuk pembangunan penuh, tetapi sintaks mungkin rumit dan rawan kesilapan.

Inti JavaScript: Adakah ia dibina di atas C atau C?Inti JavaScript: Adakah ia dibina di atas C atau C?May 05, 2025 am 12:07 AM

Javascriptisnotbuiltoncorc; it'saninterpretedlanguagethatrunsonenginesoftenwritteninc .1) javascriptwasdesignedasalightweight, interpratedlanguageforwebbrowsers.2)

Aplikasi JavaScript: Dari Front-End ke Back-EndAplikasi JavaScript: Dari Front-End ke Back-EndMay 04, 2025 am 12:12 AM

JavaScript boleh digunakan untuk pembangunan front-end dan back-end. Bahagian depan meningkatkan pengalaman pengguna melalui operasi DOM, dan back-end mengendalikan tugas pelayan melalui Node.js. 1. Contoh front-end: Tukar kandungan teks laman web. 2. Contoh backend: Buat pelayan Node.js.

Python vs JavaScript: Bahasa mana yang harus anda pelajari?Python vs JavaScript: Bahasa mana yang harus anda pelajari?May 03, 2025 am 12:10 AM

Memilih Python atau JavaScript harus berdasarkan perkembangan kerjaya, keluk pembelajaran dan ekosistem: 1) Pembangunan Kerjaya: Python sesuai untuk sains data dan pembangunan back-end, sementara JavaScript sesuai untuk pembangunan depan dan penuh. 2) Kurva Pembelajaran: Sintaks Python adalah ringkas dan sesuai untuk pemula; Sintaks JavaScript adalah fleksibel. 3) Ekosistem: Python mempunyai perpustakaan pengkomputeran saintifik yang kaya, dan JavaScript mempunyai rangka kerja front-end yang kuat.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Nordhold: Sistem Fusion, dijelaskan
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)