Zaman damgası dönüştürücü: Unix, FILETIME, WebKit, Apple ve GPS
Zaman damgası dönüştürücü, kayıtlardaki sayısal zaman değerini (Unix epoch, FILETIME, WebKit ve benzerleri) okunabilir tarihe, tarihi de bu değerlere çeviren araçtır. Değeri yapıştırın; araç biçimi tahmin eder, UTC'yi, o tarihte geçerli Türkiye saatini ve aynı anın diğer biçimlerdeki karşılığını gösterir.
Ayarlar Ek bölge yok · bölgesiz değerler UTC · GPS düzeltmesi açık
EXIF, Excel ve bölge eki olmayan tarih metinleri için.
Değerler yalnızca bu cihazda, tarayıcınızda hesaplanır. Hiçbir sunucuya gönderilmez ve saklanmaz.
Nasıl kullanılır?
- Kayıttaki değeri olduğu gibi yapıştırın:
13354977600000000,0x01DA76D04E502000, kayıt defterinden bir bayt dizisi ya da15/Mar/2024:15:00:00 +0300gibi bir tarih metni. - Biçimi biliyorsanız seçin. Bilmiyorsanız "Otomatik algıla" kalsın; araç tahminini ve gerekçesini yazar.
- Sonuçta UTC, o tarihte geçerli Türkiye saati, isterseniz bir ek bölge ve aynı anın diğer biçimleri görünür.
- Tarihten değer üretmek için "Tarihten değere", çok sayıda değer için "Toplu dönüştür" sekmesini kullanın. Toplu sonuç, Türkçe Excel'in doğrudan açtığı noktalı virgüllü CSV olarak iner.
Aynı olay neden farklı kayıtlarda farklı saatle görünür?
Çünkü her sistem zamanı kendi başlangıç noktasından (epoch) ve kendi biriminde sayar. Windows 1601'den beri 100 nanosaniyelik aralıkları, Unix 1970'ten, Apple 2001'den beri saniyeleri sayar; aynı an üç ayrı sayı olur. İkinci fark saat dilimidir: bir kayıt UTC tutar, öteki yerel saati farkıyla birlikte (+03:00) yazar, bir üçüncüsü yerel saati hiçbir fark bilgisi olmadan yazar. Üçüncüsü cihazın kendi saatidir: NTP ile eşitlenmeyen bir sunucu dakikalarca kayabilir ve dönüştürücü bunu göremez.
Zaman çizelgesi kurarken her kaynağın biçimini ve saat dilimini not edin. Bu farkların korelasyonda yol açtığı hataları zaman damgaları ve saat dilimi yazımızda örneklerle anlattık.
Hangi biçim nereden çıkar?
Liste örnektir; aynı uygulama sürümden sürüme biçim değiştirebilir.
| Biçim | Başlangıç ve birim | Tipik kaynak |
|---|---|---|
| Unix saniye | 1970-01-01 UTC, saniye | Linux ve web sunucusu kayıtları, birçok veri tabanı, JWT'deki exp ve iat |
| Unix milisaniye | 1970-01-01 UTC, ms | JavaScript ve Java uygulamaları, Android mmssms.db içindeki date |
| Unix µs / ns | 1970-01-01 UTC | Firefox places.sqlite (µs), APFS dosya sistemi (ns) |
| Windows FILETIME | 1601-01-01 UTC, 100 ns | NTFS $STANDARD_INFORMATION ve $FILE_NAME, kayıt defteri anahtarlarının son yazma zamanı, EVTX ve LNK dosyaları |
| WebKit / Chrome | 1601-01-01 UTC, µs | Chromium tabanlı tarayıcıların History veri tabanı (last_visit_time, visit_time), çerezlerde expires_utc |
| Apple Cocoa | 2001-01-01 UTC, saniye (çoğu zaman ondalıklı) | Safari History.db, iPhone'daki WhatsApp ChatStorage.sqlite (ZMESSAGEDATE) |
| Apple Cocoa (ns) | 2001-01-01 UTC, ns | iOS 11 ve sonrasında sms.db içindeki message.date |
| HFS+ / MP4 | 1904-01-01, saniye | HFS+ dosya sistemi, MP4/MOV dosyalarının mvhd kutusundaki creation_time |
| GPS | 1980-01-06, saniye, artık saniyesiz | GNSS alıcıları, bazı araç kameraları ve takip cihazları |
| Excel / OLE | 1899-12-30, gün (kesirli kısım günün saati) | Excel hücreleri, OLE Automation tarihleri |
| .NET ticks | 0001-01-01, 100 ns | C# uygulamalarının kendi kayıtları ve ayar dosyaları |
EXIF verisindeki DateTimeOriginal alanı 2024:03:15 15:00:00 biçiminde, bölge bilgisi olmayan bir duvar saatidir. EXIF 2.31 ile gelen OffsetTimeOriginal doluysa iki değeri birleştirip yapıştırın: 2024:03:15 15:00:00+03:00. Alan yoksa ayarlardaki "bölgesiz değerler" seçimi uygulanır ve sonuçta belirtilir. PDF'teki D:20240315150000+03'00' biçimli tarihler de doğrudan okunur.
Türkiye saati neden her tarihte UTC+3 değildir?
Çünkü Türkiye 1984 sonundan 2016'ya kadar kışın UTC+2, yazın UTC+3 kullandı. 27 Mart 2016'da ileri alınan saat bir daha geri alınmadı: 8 Eylül 2016'da Resmî Gazete'de yayımlanan 2016/9154 sayılı Bakanlar Kurulu Kararı, 30 Ekim'deki geri almayı kaldırıp yaz saatini yıl boyu sürdürdü.
2016 öncesi bir UTC kaydına her zaman 3 saat eklemek kış aylarında bir saat hata verir. 2015-12-01 10:00 UTC Türkiye'de 12:00'dir, 13:00 değil.
Geçişler her yıl Avrupa ile aynı gün de olmadı. 2011'de üniversite sınavı, 2014'te yerel seçim nedeniyle yaz saati bir gün geç başladı; 2015'te genel seçim yüzünden kış saatine dönüş 8 Kasım'a ertelendi. Araç, tarayıcıdaki Europe/Istanbul kaydını kullandığı için bu istisnaları da uygular.
GPS zamanı ve 18 saniyelik fark
GPS saati 1980'den beri artık saniye (leap second) eklemediği için bugün UTC'nin 18 saniye ilerisindedir. IERS'in Temmuz 2026 tarihli Bulletin C 72'sine göre Aralık 2026 sonunda da yeni artık saniye yok.
Düzeltme açıkken araç o tarihte geçerli farkı kullanır (1990 başında 6, 2010'da 15 saniye). Cihaz değeri zaten UTC'ye göre yazıyorsa düzeltmeyi kapatın. Hafta ve haftanın saniyesi olarak tutulan kayıtları tek sayıya çevirin: hafta × 604800 + saniye. Eski alıcılar hafta sayısını 1024'te sıfırlar (son kez Nisan 2019'da); hesapta tam hafta sayısı kullanılmalı.
Otomatik algılama nasıl tahmin eder?
Araç sayıyı her biçimde çözer ve çıkan tarihin makul olup olmadığına bakar: son yirmi yıla düşen sonuçlar en yüksek puanı alır, puanlar yakınsa yaygın biçim öne geçer. Günümüz tarihlerinde çoğu zaman basamak sayısı yeter: 10 hane Unix saniyesi, 13 hane milisaniye, 17 hane WebKit olur. 18 hanede ilk rakamlar ayırır: 13… FILETIME, 63… .NET ticks, 7… ya da 8… Cocoa nanosaniyesi.
Bazı sayılar iki biçimde de anlamlıdır. 810000000 Cocoa saniyesi olarak Eylül 2026'yı, Unix saniyesi olarak Eylül 1995'i gösterir; araç güveni "orta" işaretler ve öteki yorumları listeler. Hiçbir biçimde makul bir an vermeyen 20240315 gibi bitişik yazımlar tarih olarak okunur. Değerin hangi dosya ve alandan geldiğini biliyorsanız biçimi elle seçin, raporda da bu dayanağı yazın.
Sınırlılıklar
- Araç değeri çevirir, doğruluğunu sınamaz. Cihaz saatindeki kaymayı ancak aynı olayın başka bir kaynaktaki iziyle ölçebiliriz; bkz. log kayıtlarının güvenilirliği.
- Aralık 0001–9999 yıllarıdır; 1582 öncesi tarihler de Gregoryen takvimle gösterilir.
- Saat dilimi kuralları tarayıcının veri tabanından gelir; çok eski bir tarayıcı güncel kuralları bilmeyebilir. Standart saatten önceki dönemde (İstanbul'da 1880 öncesi) yerel saat, şehrin ortalama güneş saatidir: UTC+01:55:52.
- Excel 1900'ü yanlışlıkla artık yıl saydığı için 1 Mart 1900 öncesindeki seri sayılar bir gün kayar. Eski Mac dosyalarının 1904 tarih sistemi ayrıca seçilemez; bu dosyalarda seri sayıya 1462 ekleyin.
- Artık saniyenin kendisi (
23:59:60) ayrı gösterilemez, bir sonraki saniyeyle aynı ana düşer.
Farklı sistemlerin kayıtlarını tek zaman çizelgesinde birleştirmek ya da saat kaymasını ölçmek gerekiyorsa bunu log analizi kapsamında yapıyoruz; bulgunun hukuki değerlendirmesi avukata ve mahkemeye aittir.
Girdiğiniz değerler nereye gider?
Hiçbir yere. Hesap bu sayfadaki betikle tarayıcınızda yapılır; değerler sunucuya gönderilmez, çerezde ya da tarayıcı deposunda tutulmaz, CSV dosyası da tarayıcıda oluşturulur. Sayfa yüklendikten sonra bağlantıyı kesseniz de araç çalışır.
Sık sorulan sorular
Unix zaman damgası nasıl tarihe çevrilir?
Unix zaman damgası, 1 Ocak 1970 00:00 UTC'den bu yana geçen saniye sayısıdır. Günümüz tarihleri için 10 haneli bir değer saniye, 13 haneli bir değer milisaniyedir. Örneğin 1700000000, 14 Kasım 2023 22:13:20 UTC'ye, Türkiye saatiyle 15 Kasım 2023 01:13:20'ye karşılık gelir. Değeri araca yapıştırmanız yeterli; UTC ve Türkiye saati birlikte gösterilir.
Windows FILETIME değeri nasıl okunur?
FILETIME, 1 Ocak 1601 UTC'den bu yana geçen 100 nanosaniyelik aralıkların sayısıdır ve günümüz tarihleri için 18 hanelidir. Kayıt defteri düzenleyicileri ve hex görüntüleyiciler değeri çoğu zaman 8 bayt olarak, düşük bayt önde gösterir (00 20 50 4E D0 76 DA 01). Elle hesaplamak için değeri 10.000.000'a bölüp 11.644.473.600 çıkarın; sonuç Unix saniyesidir.
Chrome geçmişindeki last_visit_time değeri neden 17 haneli?
Chrome ziyaret zamanlarını WebKit biçiminde, yani 1 Ocak 1601 UTC'den bu yana geçen mikrosaniye olarak saklar. Günümüz tarihleri bu yüzden 17 hanelidir. Değeri 1.000.000'a bölüp 11.644.473.600 çıkarırsanız Unix saniyesini elde edersiniz. Değer UTC'dir; yerel saate çevirirken ziyaret tarihinde geçerli saat dilimi kuralını kullanmak gerekir.
Türkiye saati UTC'den kaç saat ileridir?
Bugün 3 saat. Türkiye 27 Mart 2016'da yaz saatine geçti ve 2016/9154 sayılı Bakanlar Kurulu Kararı ile saat bir daha geri alınmadı; o tarihten beri yıl boyu UTC+3 kullanılıyor. Daha önce kışın UTC+2, yazın UTC+3 uygulanıyordu. Bu yüzden 2016 öncesine ait bir UTC kaydına her zaman 3 saat eklemek, kış aylarında bir saatlik hata yaratır.
GPS zamanı ile UTC arasında neden 18 saniye fark var?
GPS saati 6 Ocak 1980'de UTC ile eşitti, ama UTC'ye eklenen artık saniyeleri izlemez. O günden bu yana 18 artık saniye eklendi; sonuncusu 31 Aralık 2016 gecesiydi. Bu yüzden GPS zamanı bugün UTC'nin 18 saniye ilerisindedir. Araç düzeltmeyi her tarih için o gün geçerli farkla uygular; gerekirse ayarlardan kapatabilirsiniz.
Zaman damgası saat dilimi bilgisi içerir mi?
Biçime göre değişir. Unix zamanı, FILETIME, WebKit ve Cocoa değerleri tanım gereği UTC'yi sayar, ayrıca bölge taşımaz. EXIF DateTimeOriginal, Excel seri tarihi ve FAT dosya sistemi tarihleri ise yerel duvar saatidir; hangi bölgeye ait oldukları başka bir alandan ya da bağlamdan çıkarılmalıdır. ISO 8601 metninde Z ya da +03:00 gibi bir ek varsa bölge bellidir.
Kaynaklar
- Gün Işığından Daha Fazla Yararlanmak Amacıyla Bütün Yurtta Yaz Saati Uygulanması Hakkında Karar (Karar Sayısı: 2016/9154) — Resmî Gazete, 8 Eylül 2016, sayı 29825
- Time Zone Database (Europe/Istanbul kaydı ve geçiş notları) — IANA
- Bulletin C: UTC − TAI farkı ve artık saniye duyurusu — IERS
- FILETIME structure (minwinbase.h) — Microsoft Learn
- CFAbsoluteTime — Apple Developer Documentation