Epoch Zamanı (Unix Zamanı) Nedir?
Epoch zamanı, diğer adlarıyla Unix zamanı veya Unix timestamp (Unix zaman damgası), Unix epoch olarak bilinen 1 Ocak 1970, 00:00:00 UTC anından bu yana geçen saniye sayısıdır. Örneğin 1700000000, 14 Kasım 2023 saat 22:13:20 UTC'dir.
Bilgisayarlar zamanı bu şekilde saklar, çünkü tek bir sayı kolayca karşılaştırılabilir, sıralanabilir ve sistemler arasında gönderilebilir; üstelik dünyanın her yerinde aynı anı ifade eder. Saat dilimleri yalnızca onu insanların okuyacağı bir tarihe çevirdiğinizde devreye girer. Unix zamanı artık saniyeleri yok sayar: her gün tam olarak 86.400 saniye sayılır.

Saniye, Milisaniye, Mikrosaniye mi, Nanosaniye mi?
Timestamp'ler farklı hassasiyetlerde gelir. Dönüştürücü birimi basamak sayısından algılar; birim menüsünden bunu değiştirebilirsiniz:
Klasik Unix timestamp; Linux, PHP, Python'un time.time() işlevi (ondalıklı sayı olarak), JWT exp talepleri ve çoğu API tarafından kullanılır. Örnek: 1700000000.
JavaScript (Date.now()), Java ve birçok veritabanı ile log tarafından kullanılır. Örnek: 1700000000000.
Go'nun UnixMicro() işlevi ile birçok yüksek çözünürlüklü log ve izleme (trace) tarafından kullanılır. Örnek: 1700000000000000.
Go'nun UnixNano() işlevi, InfluxDB ve izleme sistemleri tarafından kullanılır. Örnek: 1700000000000000000.
Advertisement
Unix Timestamp Tarihe Nasıl Çevrilir?
Timestamp'ten Tarihe sekmesine girin. Virgüller, boşluklar ve ondalık kısım (1700000000.5 gibi) sorun değildir; negatif değerler 1970 öncesi tarihleri verir.
Rozet, değerin saniye, milisaniye, mikrosaniye veya nanosaniye olarak okunduğunu gösterir. Tahmin yanlışsa birimi kendiniz seçin.
Tarihi UTC'de ve kendi saat diliminizde, ISO 8601 ve RFC 2822 biçiminde, ne kadar zaman önce olduğunu ve aynı anı dört birimin hepsinde görürsünüz.
Aynı anın orada saat kaçta olduğunu görmek için listeden herhangi bir saat dilimini seçin; örneğin yurt dışındaki bir iş arkadaşınız için bir log kaydının ne zaman oluştuğunu kontrol etmek için.
Tarih Unix Timestamp'e Nasıl Çevrilir?
Tarihten Timestamp'e sekmesini açın, bir tarih ve saat seçin ve ait olduğu saat dilimini belirleyin. Epoch zamanını saniye ve milisaniye cinsinden, ayrıca UTC'deki ISO 8601 biçimini alırsınız.
Aynı panel, seçilen saat dilimindeki o günün, ayın ve yılın ilk ve son saniyesini de gösterir. Bu, “New York saatine göre ekim ayında verilen tüm siparişler” gibi, dönemin başlangıç ve bitiş timestamp'lerine ihtiyaç duyduğunuz veritabanı sorguları için kullanışlıdır.
Advertisement
Saat Dilimleri ve Yaz Saati Uygulaması
Bir Unix timestamp'in saat dilimi yoktur: her zaman 1 Ocak 1970 gece yarısı UTC'den itibaren sayar. Aynı timestamp farklı yerlerde yalnızca farklı saatler olarak gösterilir; örneğin 1700000000 Londra'da 22:13, Hindistan'da ise ertesi sabah 03:43'tür.
Saat dilimlerinin önemli olduğu yer, bir tarihi timestamp'e çevirmektir. Saatler geri alındığında bazı saatler iki kez yaşanır, ileri alındığında ise bazıları hiç yaşanmaz. ABD'de saatlerin ileri alındığı gece, New York'ta 02:30 diye bir saat yoktur. Bu araç her iki durumu da Python'un yaptığı gibi ele alır: var olmayan bir saat, aradaki boşluk kadar ileri kaydırılır; iki kez yaşanan bir saat için ilki kullanılır.
2038 Yılı Problemi
Eski sistemler Unix zamanını işaretli 32 bitlik bir tam sayıda saklar; bu sayının üst sınırı 2147483647, yani 19 Ocak 2038, 03:14:07 UTC'dir. Bir saniye sonra sayı taşar ve negatif bir değere döner; bu sistemler de tarihi 13 Aralık 1901 olarak okur.
Modern işletim sistemlerinin ve dillerin çoğu 64 bitlik zaman kullanır ve etkilenmez; ancak gömülü cihazlar, eski dosya biçimleri, bazı eski kodlar ve MySQL'in TIMESTAMP sütun türü (2038-01-19 03:14:07 UTC'de sona erer) hâlâ etkilenir. Dönüştürücü, 32 bit aralığının dışındaki her timestamp için bir uyarı gösterir; böylece eski yazılımları bozabilecek değerleri fark edebilirsiniz.
Advertisement
Kodda Güncel Epoch Zamanını Alma
Her dil ve kabuk Unix zamanını okuyabilir ve çevirebilir:
Math.floor(Date.now() / 1000) // saniye
Date.now() // milisaniye
new Date(1700000000 * 1000).toISOString() // '2023-11-14T22:13:20.000Z'import time, datetime
int(time.time()) # saniye
datetime.datetime.fromtimestamp(1700000000, datetime.timezone.utc)
# 2023-11-14 22:13:20+00:00date +%s # güncel epoch saniyesi
date -u -d @1700000000 # Linux (GNU date)
date -u -r 1700000000 # macOS (BSD date)-- PostgreSQL
SELECT extract(epoch FROM now());
SELECT to_timestamp(1700000000);
-- MySQL
SELECT UNIX_TIMESTAMP();
SELECT FROM_UNIXTIME(1700000000);time(); // PHP
date('c', 1700000000);
time.Now().Unix() // Go
Instant.now().getEpochSecond() // Java=(A1/86400)+DATE(1970,1,1) // A1'deki epoch saniyesini UTC tarihine
=(B1-DATE(1970,1,1))*86400 // B1'deki UTC tarihini epoch saniyesineÖnemli Unix Timestamp'leri
0: 1 Ocak 1970, 00:00:00 UTC, Unix epoch.1000000000: 9 Eylül 2001, 01:46:40 UTC, ilk 10 basamaklı timestamp.1234567890: 13 Şubat 2009, 23:31:30 UTC.1700000000: 14 Kasım 2023, 22:13:20 UTC.1800000000: 15 Ocak 2027, 08:00:00 UTC.2000000000: 18 Mayıs 2033, 03:33:20 UTC.2147483647: 19 Ocak 2038, 03:14:07 UTC, 32 bit sınırı.4294967295: 7 Şubat 2106, 06:28:15 UTC, işaretsiz 32 bit sınırı.
Advertisement
Diğer Geliştirici Araçları
Geliştiriciler ve sistem yöneticileri için, hepsi tarayıcınızda çalışan diğer ücretsiz araçlar:
Rastgele v4, zaman sıralı v7 ve GUID'ler, toplu olarak.
Metin, resim ve dosyaları Base64'e ve Base64'ten çevirin.
Bir sertifikanın geçerlilik tarihlerini, SAN'larını ve anahtarını okuyun.
IPv4 alt ağları, CIDR aralıkları ve host sayıları.