İçeriğe atla

Tarih formatı belirteçleri

Yaygın olarak kullanılan iki tarih biçimi ailesi vardır ve sadece tehlikeli olmak için yeterince örtüşürler. strftime — C'den ve Python, Ruby, PHP ve GNU tarihi tarafından devralınan — %Y gibi yüzde belirteçleri kullanır. Unicode LDML, ICU, Java, moment ve dayjs tarafından kullanılan, yyyy gibi tekrarlanan harfler kullanır. LDML'de, MM bir ay ve mm bir dakikadır; bu çifti yanlış almak klasik bir hatadır.

Aşağıdaki her satır aynı anı gösterir: Pazartesi 9 Mart 2026, 14:05:07 UTC. Bu tarih hiçbir şeyin gizlenmemesi için seçilmiştir — tek haneli bir gün ve ay sıfır doldurmayı ortaya koymaktadır, öğleden sonra saati 12 ve 24 saatlik saatleri görünür şekilde farklılaştırmaktadır ve haftanın günü belirsizdir.

Boş bir eşdeğer sütunu diğer lehçenin bunun için tek bir belirteci olmadığı ve değeri kendiniz oluşturmanız gerektiği anlamına gelir. Test paketi takvim alanlarını platformun kendi tarih işlevleriyle işler ve onu bu tabloya karşılaştırır, bu nedenle örnekler gerçeklikten sapamaz.

Yıl

4
strftimeLDMLAlanOluşturma
%YyyyyDört haneli yıl2026
%yyyİki haneli yılİnşaat tarafından belirsiz. Depolanan herhangi bir şeyde kaçının.26
%CYüzyıl — yıl yüz bölü20
%GYYYYISO hafta numarası yılıTakvim yılından yeni yılın etrafında farklıdır. Sadece ISO hafta numarası ile kullanın.2026

Ay

4

LDML'de, MM ay ve mm dakikadır.

strftimeLDMLAlanOluşturma
%mMMAy, sıfır dolgulu03
%-mMAy, dolgusuz3
%bMMMAy adının kısaltılmış haliMar
%BMMMMTam ay adıMarch

Gün ve haftanın günü

8

LDML'de, dd ayın günü ve DDD yılın günüdür.

strftimeLDMLAlanOluşturma
%dddAyın günü, sıfır dolgulu09
%-ddAyın günü, dolgusuz9
%eAyın günü, alan dolgulu 9
%jDDDYılın günü, 001–366068
%aEEEHaftanın günü kısaltmaMon
%AEEEETam haftanın adıMonday
%uHaftanın günü bir sayı olarak, Pazartesi 1'dir%w Pazardan itibaren aynı günleri 0 numarası yapıyor.1
%VwwISO hafta numarası, Pazartesi ile başlayan haftalar11

Zaman

8
strftimeLDMLAlanOluşturma
%HHH24 saatlik saatte saat14
%-HHSaat, dolgusuz14
%Ihh12 saatlik saatte saat02
%MmmDakika05
%Sssİkinci07
%3NSSSMilisaniye000
%paAM veya PMPM
%sUnix zaman damgası — 1970-01-01 UTC'den bu yana saniye1773065107

Zaman dilimi

3

Bir kaymaca bir sayıdır; bir bölge adı bir kuraldır. Sadece ad DST değişikliğini hayatta kalır.

strftimeLDMLAlanOluşturma
%zZZUTC kaymaca, iki nokta üst üste yok+0000
%:zXXXUTC kaymaca bir iki nokta üst üste ile, ISO 8601 istiyor gibi+00:00
%ZzzzZaman dilimi kısaltmasıKısaltmalar benzersiz değildir — CST en az üç farklı bölgedir.UTC

Genel kombinasyonlar

7

Yukarıdan belirteçler — kütüphane gerekmez.

strftimeLDMLAlanOluşturma
%Fyyyy-MM-ddISO tarihi2026-03-09
%THH:mm:ss24 saatlik zaman14:05:07
%FT%T%:zyyyy-MM-dd'T'HH:mm:ssXXXTam ISO 8601 zaman damgasıDepolamanız gereken biçim. Metni sıralar, kaymadan emin başlıbaşa.2026-03-09T14:05:07+00:00
%a, %d %b %Y %T %zEEE, dd MMM yyyy HH:mm:ss ZZRFC 2822 — e-posta başlıkları ve eski HTTPMon, 09 Mar 2026 14:05:07 +0000
%m/%d/%YMM/dd/yyyyAmerikan geleneği, ay ilk03/09/2026
%d.%m.%Ydd.MM.yyyyAvrupa geleneği, gün ilk09.03.2026
%%''Gerçek bir yüzde işareti%

FAQ

LDML'de yyyy ve YYYY arasındaki fark nedir?
LDML'de, yyyy takvim yılı ve YYYY ISO hafta numarası yılıdır. Her Ocak'ın birkaç günü farklıdır: 2027-01-01, 2026'nın 53. ISO haftasında düşer, bu nedenle YYYY orada 2026'yı okur. YYYY'yi kazara kullanmak, yılda bir kez görünen ve sonra kaybolan bir hata üretir, bu da yakalamayı çok zorlaştırır.
Ayım neden dakika olarak gösterilmektedir?
Çünkü LDML lehçesindesiniz ve mm yerine MM kullandınız. LDML büyük/küçük harfe duyarlıdır: M ay, m dakika, D yılın günü, d ayın günüdür. strftime farklı bir yerde aynı tuzağa sahiptir — %M dakika ve %m aydır.
Dolgulu bir sayıya karşılık dolgusuz bir sayıyı nasıl alabilirim?
strftime'da, GNU uzantısı %-d dolgusunu çıkarır, bu nedenle %d 09 ve %-d 9'dur. LDML'de harf sayısı genişliği doğrudan ayarlar: d 9 ve dd 09'dur. İkisi de taşınabilir değildir — %-d her platformda mevcut değildir.
Tarihleri hangi biçimde depolamalıyım?
ISO 8601 açık bir kaymaoıyla — 2026-03-09T14:05:07+00:00. Metin olarak doğru sıralar, kaymadan emin başlıbaşa ve her dil bunu ayrıştırır. Bunu depolayın ve ekranda göstermek için son mümkün anı biçimlendirin; kaymadan depolanan yerel bir tarih kurtarılmaz bilgi kaybıdır.