UNIX Zaman Damgası Dönüştürücü (Çevrimiçi UNIX Zamanı Çevirici)

Mevcut UNIX Zaman Damgası

Saniye
Milisaniye

Zaman Damgası → Tarih ve Saat


Tarih ve Saat → Zaman Damgası

UNIX Zaman Damgası Dönüştürücü (Çevrimiçi UNIX Zamanı Çevirici)

Bu UNIX zaman damgası dönüştürücü, UNIX zamanını (epoch time / POSIX time) hızlı bir şekilde tarih ve saate dönüştürmenizi ve tam tersini yapmanızı sağlar. Saniye ve milisaniye cinsinden zaman damgasını destekler, yerel saat, UTC ve ISO 8601 formatlarını gösterir ve sonuçlar tek tıklamayla kopyalanabilir.


UNIX zaman damgası (epoch time / POSIX time) nedir?

UNIX zaman damgası, zamanı 1 Ocak 1970 00:00:00 UTC’den itibaren geçen saniye sayısı olarak ifade eden bir sayıdır (yani UNIX epoch). Pratikte, sistemlerde, veritabanlarında, API’lerde ve günlük kaydında tarih ve saat verilerini depolamak ve iletmek için en sık kullanılan formatlardan biridir.

Örnek: 1700000000, 14 Kasım 2023 22:13:20 UTC tarihine denk gelir.

Neden tam olarak 1 Ocak 1970?

Epoch başlangıcı (1970-01-01), UNIX tasarlanırken pratik bir referans noktası olarak seçilmiştir: sistemin geliştirilme dönemine yakındır ve basit zaman hesaplamalarına olanak tanır.


UNIX zaman damgası: Saniye vs. Milisaniye

UNIX zaman damgası genellikle iki biçimde karşımıza çıkar:

Zaman Damgası BiçimiÖrnekTipik Kullanım Alanları
Saniye (s)1700000000veritabanları, backend, API, dosyalar
Milisaniye (ms)1700000000000JavaScript (Date.now()), analitik, detaylı günlükler

Hangisine sahip olduğunuzu nasıl anlarsınız?

  • Güncel veriler için saniyeler genellikle 10 hanelidir.
  • Milisaniyeler genellikle 13 hanelidir ve yaklaşık 1000 kat daha büyüktür.
  • Yönlendirici olarak: eğer değer > 10¹² ise, neredeyse kesinlikle milisaniyedir.

UNIX Zaman Damgası Dönüştürücü Nasıl Kullanılır

1) Zaman Damgası → Tarih ve Saat

  1. UNIX zaman damgasını alana girin veya Şimdi (mevcut UNIX zamanı) düğmesine tıklayın.
  2. Zaman damgası milisaniyeler cinsindense, Milisaniye Kullan seçeneğini etkinleştirin.
  3. Dönüştür’e tıklayın (veya Enter tuşuna basın).
  4. Yerel saat, UTC ve ISO 8601’e dönüştürme gösterilecektir.
  5. Sonuca tıklayarak panoya kopyalayabilirsiniz.

2) Tarih ve Saat → Zaman Damgası

  1. Formdaki tarih ve saati seçin.
  2. Dönüştür’e tıklayın.
  3. Sonucu saniye ve milisaniye cinsinden zaman damgası olarak alacaksınız.

UNIX Zaman Damgası En Çok Nerede Kullanılır?

UNIX zamanı, IT’de zamanla ilgili çalışılan hemen her yerde karşınıza çıkar:

  • Veritabanları – MySQL, PostgreSQL, SQLite vb. gibi veritabanlarında zamanları depolama ve karşılaştırma.
  • API’lar – REST/GraphQL genellikle zamanı zaman damgası olarak döndürür (kolay serileştirme).
  • Günlükler ve İzleme – Olayları zamana göre doğru bir şekilde sıralama.
  • Git – Taahhütler zaman damgası verileri içerir.
  • Dosya Sistemleri – mtime/ctime/atime gibi zamanlar (son değişiklik vb.).
  • JWTiat (issued at) ve exp (expires) talepleri tipik olarak epoch saniyeleri cinsindendir.
  • Linux/Unix Kabuğudate +%s mevcut zaman damgasını döndürür.
  • JavaScriptDate.now() zamanı milisaniye cinsinden döndürür.

UNIX Zaman Dönüşümüne Pratik Örnekler

JavaScript (zaman damgası ↔ tarih)

// Saniye cinsinden mevcut UNIX zaman damgası
const tsSeconds = Math.floor(Date.now() / 1000);

// Milisaniye cinsinden mevcut zaman damgası
const tsMs = Date.now();

// Zaman damgası (s) -> tarih
const dateFromSeconds = new Date(1700000000 * 1000);
console.log(dateFromSeconds.toISOString());

// Tarih -> zaman damgası (s)
const ts = Math.floor(new Date("2024-01-01T00:00:00Z").getTime() / 1000);
console.log(ts);

Python (zaman damgası ↔ datetime)

import time
from datetime import datetime, timezone

# Saniye cinsinden mevcut zaman damgası
ts = int(time.time())

# Zaman damgası -> datetime (UTC)
dt_utc = datetime.fromtimestamp(1700000000, tz=timezone.utc)

# Tarih -> zaman damgası
ts2 = int(datetime(2024, 1, 1, tzinfo=timezone.utc).timestamp())

SQL (MySQL)

-- Mevcut UNIX zaman damgası (s)
SELECT UNIX_TIMESTAMP();

-- Zaman damgası -> tarih
SELECT FROM_UNIXTIME(1700000000);

-- Tarih -> zaman damgası
SELECT UNIX_TIMESTAMP('2024-01-01 00:00:00');

Zaman Dilimleri: UTC, Yerel Saat ve ISO 8601

UNIX zaman damgası her zaman UTC cinsindendir – zaman dilimi veya yaz saati uygulaması hakkında bilgi içermez. Yerel saate dönüştürme, tarayıcının, sunucunun veya kullanılan kütüphanenin ayarlarına bağlıdır.

Bilmeniz gereken terimler:

  • UTC – yaz/kış saati olmayan global bir standart.
  • GMT – günlük kullanım için pratik olarak UTC ile aynıdır.
  • Ofset – UTC’ye göre kayma (örn. UTC+1 kışın, UTC+2 yazın).

UNIX Zaman Damgası Sınırları ve 2038 Sorunu

2038 Yılı Sorunu (Year 2038 Problem)

Bazı 32 bit sistemlerde, zaman damgası maksimum 2.147.483.647 değeriyle bir int32 olarak depolanır, bu da 19 Ocak 2038 03:14:07 UTC’ye denk gelir. Bu değer aşıldığında taşma ve yanlış zaman oluşabilir. Modern 64 bit sistemler genellikle bu sorunu yaşamaz.

64 Bit UNIX Zaman Aralığı

64 bit değerler son derece geniş bir dönemi (pratikte “sonsuzluğu”) kapsar. Negatif değerler 1 Ocak 1970 öncesi bir tarihi ifade eder.


SSS – UNIX Zaman Damgası Hakkında Sıkça Sorulan Sorular

UNIX zaman damgası UTC mi, yoksa yerel saat mi? UNIX zaman damgası her zaman UTC cinsindendir. Yerel saat, zaman dilimine göre dönüştürüldüğünde oluşur. Bu nedenle dönüştürücü genellikle hem UTC hem de yerel saati gösterir.
Zaman damgasının saniye mi yoksa milisaniye mi olduğunu nasıl anlarım? Mevcut zaman için saniye cinsinden zaman damgası genellikle 10 hanelidir. Milisaniye cinsinden ise genellikle 13 haneli ve yaklaşık 1000 kat daha büyüktür. Yönlendirici olarak: değer > 10¹² ise, genellikle milisaniyedir.
Negatif bir UNIX zaman damgası ne anlama gelir? Negatif bir zaman damgası, 1 Ocak 1970 öncesi bir tarihi temsil eder. Örneğin, -1, 31 Aralık 1969 23:59:59 UTC'ye karşılık gelir.
SQL'de UNIX zaman damgası nasıl dönüştürülür? MySQL'de FROM_UNIXTIME(zaman_damgasi) kullanırsınız ve geri dönüştürmek için UNIX_TIMESTAMP(tarih) kullanırsınız. PostgreSQL'de ise tipik olarak TO_TIMESTAMP(zaman_damgasi) ve EXTRACT(EPOCH FROM tarih) kullanılır.
UNIX epochu neden 1 Ocak 1970'te başlar? Bu, UNIX'in ilk zamanlarından kalma, tarihsel olarak seçilmiş bir referans noktasıdır: basit, pratik ve sistemin geliştirildiği döneme yakındır.