Unix Zaman Damgası Tarih Dönüştürücü: 12/24 Saat Formatı Desteği
Unix zaman damgalarını insan tarafından okunabilir tarihlere ve saatlere dönüştürün. Bu basit, kullanıcı dostu dönüştürücü aracı ile 12 saat ve 24 saat zaman formatları arasında seçim yapın.
Unix Zaman Damgası Dönüştürücü
Unix zaman damgası, 1 Ocak 1970'ten (UTC) bu yana geçen saniye sayısıdır
Dönüştürülmüş Tarih & Saat
Unix Zaman Damgası Nedir?
Unix zaman damgası, 1 Ocak 1970'ten (gece yarısı UTC/GMT) bu yana geçen saniye sayısını ifade eder; artık sıçrama saniyeleri sayılmaz. Unix sistemlerinde ve programlama dillerinde tarih ve saat hesaplamaları için yaygın olarak kullanılır.
Belgeler
Unix zaman damgasını tarihe dönüştürücü
Unix zaman damgası, belirli bir zaman noktasını temsil eden sayıdır. UTC saat diliminde gece yarısından, yani 1 Ocak 1970 tarihinden bu yana geçen tam saniyeleri sayar; bu ana Unix çağ başlangıcı denir. Bu araç, Unix zaman damgasını takvim tarihine ve saatine dönüştürür ve sonucu 24 saatlik ya da 12 saatlik biçimde gösterir.
Unix zaman damgası tarihe nasıl dönüştürülür?
Temel formül basittir:
tarih = Unix çağ başlangıcı (1970-01-01, 00:00:00 UTC) + zaman damgası (saniye cinsinden)
Ham saniye sayısını tarihe dönüştürmek için bu kadar saniyeyi 1 Ocak 1970 tarihine eklemek gerekir. Daha sonra sonuç yıl, ay, gün, saat, dakika ve saniyeye ayrılmalıdır. Bu ayırma işlemi zordur; çünkü artık yılları (şubat ayına bir gün ekler) ve ayların farklı uzunlukta olmasını hesaba katmalıdır. Çoğu programlama dilinde bunu otomatik olarak yapan yerleşik bir tarih işlevi bulunur; böylece hiç kimsenin hesabı adım adım yapması gerekmez.
Uygulamalı örnek
1609459200 zaman damgasını ele alalım.
- Bir gündeki saniye sayısına bölün: 1.609.459.200 ÷ 86.400 = 18.628 gün.
- Artık yılları da hesaba katarak 1 Ocak 1970 tarihinden itibaren 18.628 gün ileri sayın.
- Sayım 1 Ocak 2021 tarihine ulaşır.
Dolayısıyla 1609459200, Cuma, 1 Ocak 2021, 00:00:00 UTC tarih ve saatine dönüştürülür. Haftanın günü olan cuma da aynı gün sayımından elde edilir.
Dönüştürücü sonucu UTC olarak değil, tarayıcınızın bildirdiği saat diliminde gösterir. New York'taki bir okuyucu aynı zaman damgasını Perşembe, 31 Aralık 2020, 19:00:00 olarak görür; çünkü New York o gün UTC'nin beş saat gerisindeydi.
Zaman damgası negatif de olabilir; bu, 1970 tarihinden önceki bir tarihi belirtir. Örneğin -86400, çağ başlangıcından tam bir gün öncesidir: 31 Aralık 1969, 00:00:00 UTC.
Zaman damgası hassasiyeti: saniye, milisaniye ve mikrosaniye
Her sistem zamanı saniyelerle ölçmez. Bu dönüştürücü, bir zaman damgasının kaç basamaklı olduğuna bakarak hassasiyetini tahmin eder:
| Basamak sayısı | Hassasiyet | Örnek |
|---|---|---|
| 10 | Saniye | 1609459200 |
| 13 | Milisaniye | 1609459200000 |
| 16 | Mikrosaniye | 1609459200000000 |
Negatif bir zaman damgasında eksi işareti için bir karakter daha bulunur; bu nedenle -1609459200 (11 karakter, 10 basamak) hâlâ saniye olarak okunur. Diğer tüm basamak sayıları sıradan saniye olarak kabul edilir. Yukarıdaki saniye formülü uygulanmadan önce milisaniye ve mikrosaniye değerleri sırasıyla 1.000 veya 1.000.000 değerine bölünür.
12 saatlik ve 24 saatlik zaman biçimi
Dönüştürücü, günün saatini göstermenin iki yolunu sunar.
- 24 saatlik biçim, saatleri 0 ile 23 arasında sayar ve ÖÖ ya da ÖS etiketi kullanmaz. Programcılar buna bazen askerî saat de der. Öğleden sonra 3:00, 15:00 olarak yazılır.
- 12 saatlik biçim, saatleri 1 ile 12 arasında sayar; gece yarısından öğlene kadar olan dönem için ÖÖ, öğlenden gece yarısına kadar olan dönem için ÖS ekler. 24 saatlik biçimdeki 15:00, 3:00 ÖS olarak gösterilir.
24 saatlik biçim Avrupa'nın, Latin Amerika'nın ve Asya'nın çoğunda; ayrıca her yerde bilimsel, askerî ve tıbbi ortamlarda standarttır. 12 saatlik biçim ise Amerika Birleşik Devletleri'nde, Kanada'da ve İngilizce konuşulan birkaç başka ülkede günlük kullanımda yaygınlığını korur.
Desteklenen tarih aralığı
Bu dönüştürücü -62135596800 ile 253402300799 arasındaki tüm zaman damgalarını kabul eder. Bu aralık, geriye doğru 1582 yılında yürürlüğe konulmasından öncesine de uygulanan Gregoryen takviminde, 1 yılının 1 Ocak tarihinden 31 Aralık 9999 tarihine kadar olan tüm tarihleri kapsar. Bu aralığın dışındaki zaman damgaları, aralık hatası verilerek reddedilir.
2038 yılı sorunu
Daha eski bilgisayar sistemlerinin çoğu, Unix zaman damgasını yalnızca 2.147.483.647 değerine kadar sayabilen 32 bitlik işaretli bir tamsayı olarak saklar. Çağ başlangıcından sonraki bu saniye sayısı, UTC'de 19 Ocak 2038 tarihinde 03:14:07 saatine denk gelir. Bu andan sonra, güncellenmemiş bir 32 bitlik sistem negatif bir sayıya dönerek tarihi 2038 yerine 1901 yılında okur. Bu durum 2038 yılı sorunu olarak bilinir. Her sistemi etkilemez: Zaman damgalarını 64 bitlik sayılar olarak veya JavaScript'te olduğu gibi sıradan sayılar biçiminde saklayan modern yazılımlar, taşma olmadan 2038 yılının binlerce yıl ötesindeki tarihleri temsil edebilir.
Unix zaman damgalarının yaygın kullanım alanları
Unix zaman damgaları, kısa olmaları ve karşılaştırılmalarının ya da sıralanmalarının kolay olması nedeniyle bilişim alanının her yerinde kullanılır:
- Veritabanı satırları, bir kaydın ne zaman oluşturulduğunu veya en son ne zaman değiştirildiğini belirtmek için bunları kullanır.
- Web sunucuları, önbelleğe almayı ve süresi dolmayı denetlemek için HTTP üst bilgilerinde ve çerezlerde bunları kullanır.
- Günlük dosyaları her olaya bir zaman damgası ekler; böylece girdiler sıraya konabilir.
- Git ve diğer sürüm denetim sistemleri, işleme alma zamanlarını bu şekilde kaydeder.
- Web API'leri, verilerin ne zaman oluşturulduğunu veya en son ne zaman güncellendiğini belirtmek için bunları kullanır.
Sık sorulan sorular
Unix çağ başlangıcı nedir? Unix çağ başlangıcı, UTC'de 1 Ocak 1970 tarihinin gece yarısıdır. Tüm Unix zaman damgalarının saymaya başladığı sıfır noktasıdır.
Unix zaman damgası artık saniyeleri içerir mi? Hayır. Unix zamanı, günde tam olarak 86.400 saniye sayar ve UTC'ye zaman zaman eklenen artık saniyeleri yok sayar; bu nedenle astronomik zamandan biraz sapar.
Unix zaman damgası negatif olabilir mi? Evet. Negatif bir değer, 1 Ocak 1970 tarihinden önceki bir tarihi belirtir.
Zaman damgam neden 13 basamak yerine 10 basamak içeriyor?
13 basamaklı bir zaman damgası saniye yerine milisaniye cinsinden ölçülür. JavaScript'in Date.now() işlevi ve birçok web API'si zaman damgalarını milisaniye cinsinden döndürür; bu nedenle 13 basamaklı değerler web geliştirmede yaygındır.
Unix zaman damgası her saat diliminde aynı mıdır? Sayının kendisi herhangi bir saat dilimine bağlı değildir. Her zaman UTC'deki çağ başlangıcından bu yana geçen saniyeleri sayar. Sayıyı yerel tarih ve saate dönüştürmek, ilgili saat diliminin farkını eklemek anlamına gelir; bu nedenle dönüştürücünün çıktısı, çalıştığı cihazın saat dilimini izler.
Bu dönüştürücünün işleyebileceği en ileri tarih nedir? UTC'de 23:59:59 saatindeki 31 Aralık 9999 tarihi; bunun zaman damgası 253402300799 değeridir. En erken tarih ise 1 yılının 1 Ocak tarihidir; saat 00:00:00 UTC ve zaman damgası -62135596800 değeridir.