İçeriğe geç

Zaman Damgası Dönüştürücü rehberi

Araç rehberi. Güncellendi .

XGM Zaman Damgası Dönüştürücü Unix saniyelerini, milisaniyeleri, ISO 8601 ve RFC 2822 tarihlerini nasıl okur, saat dilimleri arasında nasıl çevirir.

Unix zaman damgası nedir

Unix zamanı, Unix başlangıç anı olan 1970-01-01 00:00:00 UTC'den bu yana geçen saniye sayısıdır ve artık saniyeleri saymaz. Saat dilimi taşımayan tek bir sayıdır; bu da anları saklamayı ve karşılaştırmayı kolaylaştırır. 1789462800 dünyanın her yerinde aynı andır, yalnızca yerel saatteki karşılığı değişir. Veritabanı satırlarını, günlük kayıtlarını ve token sürelerini bu tek sayıya göre sıralamak, tarih dizelerini ayrıştırmaktan hem daha hızlı hem de daha az hataya açıktır. İki an arasındaki farkı bulmak da basit bir çıkarma işlemine iner, çünkü araya ne yaz saati ne de ülkeye göre değişen bir takvim kuralı girer.

Farklı sistemler farklı birimlerle sayar. Klasik Unix API'leri ve JWT talepleri saniye kullanır, JavaScript'in Date.now() fonksiyonu milisaniye döndürür, bazı veritabanları ile Go mikrosaniye ya da nanosaniye kullanır. Bunları birbirine karıştırmak en yaygın tarih hatalarından biridir: saniye sanılarak okunan bir milisaniye değeri, on binlerce yıl ileride bir tarihe düşer. Ters yöndeki hata daha sessizdir; milisaniye bekleyen bir alana saniye yazıldığında bütün kayıtlar 1970'in ilk günlerinde toplanır ve fark uzun süre gözden kaçabilir.

Dönüştürücü girdinizi nasıl okurGirdi bir Unix sayısı ya da bir tarih dizesi olarak tanınır, sayısal birim büyüklüğüne göre seçilir ve an birkaç biçimde ve saat diliminde gösterilir.Girdi1789462800, 1789462800000,2026-09-15T09:00:00Z ya da bir RFC 2822tarihi; boş bırakmak şimdiki zaman demektirBiçimi tanıBasamak sayısı saniye, milisaniye, mikrosaniyeya da nanosaniye arasında karar verirTek bir anBaşlangıç anından bu yana geçen milisaniyeyenormalleştirilirBiçimlerUnix saniyesi ve milisaniyesi, ISO 8601, RFC2822, göreli zaman, ISO hafta numarasıSaat dilimleriUTC, tarayıcınızın saat dilimi ve sizinseçtiğiniz bir dilim
Girdi bir Unix sayısı ya da bir tarih dizesi olarak tanınır, sayısal birim büyüklüğüne göre seçilir ve an birkaç biçimde ve saat diliminde gösterilir.

Zaman Damgası Dönüştürücü nasıl kullanılır

  1. Zaman Damgası Dönüştürücü aracını açın ve bir Unix zaman damgası ya da bir tarih girin; şimdiki zaman için alanı boş bırakın.
  2. Tanınan birimi, ardından anın UTC'deki ve kendi saat diliminizdeki karşılığını kontrol edin.
  3. Örneğin bir toplantı ya da bir olay zaman çizelgesi için, oradaki yerel saati görmek üzere başka bir saat dilimi seçin.
  4. İhtiyacınız olan biçimi kopyalayın: Unix saniyesi, milisaniyesi, ISO 8601 ya da RFC 2822.
Birim nasıl tanınır
Basamak (güncel tarihler için)BirimÖrnek
10Saniye1789462800
13Milisaniye1789462800000
16Mikrosaniye1789462800000000
19Nanosaniye1789462800000000000

Büyüklüğe göre tanıma, bugünün çevresindeki normal aralıkta yer alan tarihler için çalışır. Çok eski ya da çok uzak gelecekteki değerler belirsiz kalabilir; sonuç yanlış görünüyorsa kaynak sisteminizin hangi birimi kullandığını kontrol edin. Bir alanın birimini API belgelerinden ya da veritabanı şemasından okumak, basamak saymaya güvenmekten her zaman daha sağlamdır. Aynı anı bildiğiniz bir tarihle, örneğin bir kaydın oluşturulma tarihiyle karşılaştırmak da yorumun doğru olup olmadığını hızla gösterir.

Bir cron ifadesini okumak

Sayfayı Bir cron ifadesini açıkla moduna alın ve crontab dosyanızdaki satırı yapıştırın. Araç standart (Vixie) cron'u okur: beş alan - dakika, saat, ayın günü, ay, haftanın günü - ya da ilki saniye olduğunda altı alan. Zamanlamanın ne zaman tetikleneceğini gündelik dille söyler ve sonraki beş çalışmayı, seçtiğiniz saat diliminde ve UTC'de listeler.

Alanların kabul ettikleri
AlanAralıkAyrıca kabul edilenler
Saniye (yalnızca altı alanlı biçimde)0-59*, aralıklar, listeler, adımlar
Dakika0-59*/15, 1-30/2, 5,20,35
Saat0-23*, 9-17, */2
Ayın günü1-31?, aralıklar, listeler, adımlar
Ay1-12JAN-DEC
Haftanın günü0-7SUN-SAT; 0 da 7 de pazar anlamına gelir

İki kural sık sık şaşırtır. Birincisi, hem ayın günü hem de haftanın günü alanı sınırlandırıldığında standart cron ikisinden biri eşleştiğinde çalışır: 0 0 13 * 5 hem her cuma günü hem de her ayın 13'ünde çalışır, yalnızca 13'üne denk gelen cuma günlerinde değil. Kesişimi kastediyorsanız ikisinden birini * olarak bırakın. İkincisi, cron çalıştığı makinenin saat diliminde tetiklenir; burada listelenen çalışmalar kendi tarayıcı saatinizden hesaplandığı için sunucunuzla ancak sunucunun dilimini seçtiğinizde örtüşür.

L, W ve # standart cron'un değil, Quartz'ın uzantılarıdır. Araç anlamadığı belirteci adıyla söyler ve tahmin yürütmek yerine reddeder; hiçbir zaman çalışamayacak bir ifade - 30 4 31 2 *, yani 31 Şubat - beş uydurma tarihle geçiştirilmek yerine imkânsız olarak raporlanır.

Tarih biçimleri

Karşınıza çıkacak biçimler
BiçimÖrnekNerede
ISO 8601 / RFC 33392026-09-15T09:00:00Z, 2026-09-15T12:00:00+03:00API'ler, JSON, günlük kayıtları
RFC 2822 / RFC 5322Tue, 15 Sep 2026 09:00:00 +0000E-posta Date başlıkları, RSS
HTTP tarihi (RFC 9110)Tue, 15 Sep 2026 09:00:00 GMTHTTP Date, Expires, Last-Modified
Unix saniyesi1789462800Veritabanları, JWT exp talebi, Unix araçları
Unix milisaniyesi1789462800000JavaScript, birçok olay sistemi

RFC 3339, ISO 8601'in internet protokolleri için tasarlanmış katı bir alt kümesidir: her zaman saniyeleri de içeren tam bir tarih ve saat ile açık bir ofset ya da UTC için Z. Bir API tasarlıyorsanız RFC 3339 dizelerini ya da Unix saniyelerini kullanın ve hangisini seçtiğinizi belgeleyin. ISO 8601 bunların dışında hafta numaralarına, sıra günlerine ve süre aralıklarına da izin verdiğinden, kütüphanelerin hepsi aynı alt kümeyi desteklemez. Bir alanın hangi biçimi kabul ettiğini belgeleyen bir API, karşı taraftaki geliştiriciyi deneme yanılmadan kurtarır.

Komut satırında dönüştürme
# seconds to date (GNU date)
date -u -d @1789462800

# macOS / BSD date
date -u -r 1789462800

# current Unix time in seconds and milliseconds
date +%s
node -e 'console.log(Date.now())'

Saat dilimleri ve yaz saati

Bir saat dilimi ofsetten ibaret değildir. Europe/Bucharest kışın UTC+2, yazın UTC+3'tür ve geçiş tarihleri yıllar içinde değişmiştir. Bu yüzden IANA saat dilimi veritabanındaki adlandırılmış bir dilimle dönüştürmek, sabit sayıda saat eklemekten daha güvenlidir. Geçmişteki bir tarih için geçerli olan kural, o tarihte yürürlükte olan kuraldır; eski kayıtlar bugünkü ofsetle değil, kendi dönemlerinin ofsetiyle okunur. Bu yüzden yerel saati saklayan sistemlerde, ülke kurallarını değiştirdiğinde geçmiş veriler de anlamını yitirir.

Aynı anın farklı dilimlerdeki karşılığı
Dilim2026-09-15T09:00:00Z için yerel saat
UTC09:00
Europe/London10:00 (BST, UTC+1)
Europe/Bucharest12:00 (EEST, UTC+3)
America/New_York05:00 (EDT, UTC−4)
Asia/Tokyo18:00 (JST, UTC+9)

Var olmayan ya da iki kez var olan yerel saatler

Saatler ileri alındığında 03:30 gibi bir yerel saat atlanır; geri alındığında ise bir saat tekrar eder. Bu geçişlerin çevresinde işleri yerel saate göre zamanlamak, o işlerin ya hiç ya da iki kez çalışmasına yol açar. İşleri UTC'ye göre zamanlayın ya da geçişleri açıkça ele alan bir zamanlayıcı kullanın.

Günlük kayıtlarında ve olay zaman çizelgelerinde zaman damgaları

Bir olay sırasında kayıtlar birçok sistemden gelir: UTC'deki yük dengeleyici günlükleri, yerel saatteki uygulama günlükleri, Unix zaman damgası taşıyan bir izleme uyarısı ve RFC 2822 tarihli bir e-posta. Zaman çizelgesi kurmak, sıralamadan önce bunların hepsini tek bir dilime, genellikle UTC'ye çevirmek demektir. Dönüştürücü alışılmadık biçimlerde yardımcı olur; her sistemi UTC'de ve ofsetle günlük tutacak biçimde yapılandırmak ise bu işin çoğunu baştan ortadan kaldırır. Aynısı ekran görüntüleri ve destek kayıtları için de geçerlidir: bir saat yazdığınızda hangi dilimde olduğunu da yazın.

  • Her satırda UTC ile ve açık bir Z ya da ofsetle günlük tutun.
  • Milisaniyeleri de yazın; böylece aynı saniye içinde olan olaylar birbirine göre sıralanabilir.
  • Sunucu saatlerini NTP ile eşitli tutun; birkaç saniyelik kayma bile olayların sırasını bozar.
  • Bir zaman çizelgesini paylaşırken dilimi en başta bir kez belirtin ve baştan sona aynı dilimi kullanın.

Yaygın tarih ve saat hataları

  • Saniyeye karşı milisaniye. 1970 yılında ya da 57.000 yılında görünen bir tarih genellikle birimin yanlış olduğu anlamına gelir.
  • Ofsetsiz tarihler. 2026-09-15 09:00 belirsizdir; farklı sistemler bunu UTC ya da yerel saat olarak okur.
  • Yerel saati saklamak. UTC'yi ve kullanıcının saat dilimini ayrı ayrı saklayın; yerel saatleri yalnızca gösterirken türetin.
  • Ay ve gün sırasını ayrıştırmak. 09/10/2026 ABD'de 10 Eylül, Avrupa'nın büyük bölümünde 9 Ekim demektir; veri için ISO 8601 kullanın.
  • Sunucular arasında saat kayması. Saatler kaydığında token doğrulaması ve günlük eşleştirmesi bozulur; sunucuları NTP ile eşitli tutun.
  • 2038 yılı. İşaretli 32 bitlik Unix saniyeleri 2038-01-19 tarihinde taşar; depolamada ve kodda 64 bitlik zaman değerleri kullanın.

Zaman damgaları başka birçok araçta da karşınıza çıkar: JWT Çözücü içindeki exp ve iat talepleri, E-posta Başlığı Analizi içindeki Received başlığı tarihleri ve UUID Oluşturucu içindeki v7 tanımlayıcılarının gömülü zamanı. api.example.com sunucusundan gelen bir günlük satırının saati, en çok bunların hepsi UTC kullandığında anlam taşır. Ekipçe tek bir dilimde anlaşmak, bir olayın anlatısını kurarken kazanılan en ucuz zamandır.

SSS

Unix başlangıç anı nedir?

1970-01-01 00:00:00 UTC. Unix zaman damgaları o andan itibaren geçen saniyeleri sayar ve artık saniyeleri dikkate almaz.

Bir zaman damgasının saniye mi milisaniye mi olduğunu nasıl anlarım?

Güncel tarihlerde 10 basamak saniye, 13 basamak milisaniye demektir. Dönüştürücü bunu kendiliğinden tanır ve hangi birimi kullandığını sonucun yanında gösterir.

Unix zaman damgasının saat dilimi var mıdır?

Hayır. Yalnızca bir anı tanımlar. Saat dilimleri ancak bu anı yerel bir tarihe ve saate çevirdiğinizde önem kazanır; bu yüzden zaman damgasının yanında bir dilim adı görürseniz, o dilim yalnızca gösterim içindir.

Çevrilen saatim neden tam olarak birkaç saat kaymış?

Değer UTC yerine yerel saat olarak ya da tam tersi biçimde yorumlanmıştır. Tarih dizelerinin Z harfini ya da bir ofseti içerdiğinden emin olun; kayma tam olarak bir saat ise nedeni çoğunlukla yaz saati geçişidir.

ISO hafta numarası nedir?

Haftalar pazartesi başlar ve 1. hafta, yılın ilk perşembesini içeren haftadır. Avrupa'daki iş planlamasında yaygın olarak kullanılır ve bir yılın 52 ya da 53 haftası olabilir, bu yüzden hafta numarasını tek başına değil yılıyla birlikte yazın.

Dönüştürücü bilgisayarımın saatini mi kullanıyor?

Evet, "şimdi" için ve "3 saat sonra" gibi göreli zamanlar için kullanır. Saatiniz yanlışsa bu değerler de yanlış olur.

2038'de ne olacak?

Unix saniyelerini işaretli 32 bitlik tam sayılarda saklayan sistemler 19 Ocak 2038 tarihinde taşar. Modern 64 bitlik sistemler ve diller bundan etkilenmez.

Artık saniyeler sayılıyor mu?

Hayır. Unix zamanı her günü tam olarak 86.400 saniye kabul eder, bu yüzden artık saniyeler hiç temsil edilmez.

JavaScript neden farklı bir ay gösteriyor?

JavaScript'in Date API'sinde aylar 0'dan başlar; yani ocak 0, eylül 8 demektir. Tarihleri elle sayılardan kurmak yerine biçimlendirme fonksiyonlarını ya da ISO dizelerini kullanın.

Bir API hangi biçimi kullanmalı?

2026-09-15T09:00:00Z gibi UTC'deki RFC 3339 dizelerini ya da Unix saniyelerini. Birini seçin, belgeleyin ve her yerde onu kullanın.

Kaynaklar