CodeBlanks Logo Icon CodeBlanks

Intl.DateTimeFormat

Intl.DateTimeFormat ile yerelleştirme öğrenirsin.

Intl.DateTimeFormat

Tarihi kullanıcıya göstermek için Intl.DateTimeFormat yerelleştirme (localization) yapar. Bir yerel kodu (locale) ve seçenekler (options) alır; çıktıyı o yerele göre biçimlendirir.

Örnek: new Intl.DateTimeFormat("tr-TR", { day: "numeric", month: "long", year: "numeric" }). .format(date) ile biçimlendirirsin. tr-TR Türkiye Türkçesi; en-US Amerikan İngilizcesi; de-DE Almanca. month: "long" ayın tam adını (Mart); month: "short" kısaltmayı (Mar); month: "numeric" sayıyı (3) verir. Saat dilimi için timeZone: "UTC" seçeneğini eklersin; böylece çıktı makinenin saat diliminden etkilenmez. Bu, çok dilli uygulamalarda tarih göstermenin standart yoludur.

Yerel kodları

Yerel kodu dil-bölge biçimindedir: tr-TR, en-US, en-GB, de-DE, fr-FR, ja-JP. Aynı dil farklı bölgelerde farklı biçimler kullanır: en-US ay/gün/yıl, en-GB gün/ay/yıl sırasını kullanır.

Örnek: new Intl.DateTimeFormat("en-US").format(new Date("2024-03-15")) çıktısı 3/15/2024; en-GB için 15/03/2024'tür. Yerel belirlemezsen Node.js makinenin varsayılanını kullanır; bu da testleri kırılgan yapar. Testlerde her zaman açık yerel kodu ver. month: "long" ile ay adı yerelin dilinde gelir: tr-TR'de "Mart", en-US'de "March". Bu dersin ödevinde tr-TR yereli ile UTC saat dilimini birlikte kullanacağız.

Uygulama Tarihi yerel biçimde yazdır

const date = new Date("2024-03-15T00:00:00Z"); tanımla. const fmt = new Intl.DateTimeFormat("tr-TR", { day: "numeric", month: "long", year: "numeric", timeZone: "UTC" }); ile biçimlendirici yarat. console.log(fmt.format(date)) ile yazdır.

Başlangıç kodu

index.js
// UTC tarih tanımla
// buraya yaz

// tr-TR biçimlendirici yarat
// buraya yaz

// biçimlendirilmiş tarihi yazdır
// buraya yaz

Örnek çözüm

index.js
const date = new Date("2024-03-15T00:00:00Z");
const fmt = new Intl.DateTimeFormat("tr-TR", { day: "numeric", month: "long", year: "numeric", timeZone: "UTC" });
console.log(fmt.format(date));

Beklenen çıktı

15 Mart 2024

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Seçeneği çıktısına eşle

Kavram Anlamı
day: numeric Gün sayısı
month: long Tam ay adı
year: numeric Yıl sayısı
timeZone: UTC UTC saat dilimi

2 Intl.DateTimeFormat("tr-TR", { month: "long" }) ay adı ne verir?

index.js
new Intl.DateTimeFormat("tr-TR", { month: "long" }).format(new Date("2024-03-15"))
  • March
  • Mar
  • 3
  • Mart Doğru cevap

Açıklama: tr-TR yerelinde Mart ayı 'Mart' olarak yazılır.

3 DateTimeFormat çağrısını tamamla

Soru
const fmt = new Intl.____("tr-TR", { day: "numeric", month: "long", year: "numeric", timeZone: "UTC" });
Cevap
const fmt = new Intl.DateTimeFormat("tr-TR", { day: "numeric", month: "long", year: "numeric", timeZone: "UTC" });

Açıklama: Intl.DateTimeFormat yerelleştirilmiş biçimlendirici yaratır.

Orta seviye bölümündeki tüm dersler