Teknik yardım

Unix Timestamp’ten tarihe: saniye, milisaniye ve UTC anlatıldı

Unix timestamp’i tarihe çevirin. Saniye ile milisaniye, UTC ile yerel saat, ISO 8601 ve tarihten epoch zamanına dönüşü görün.

Kısa yanıt

Unix timestamp, zamanı Unix epoch’a göre temsil eder: 1970-01-01 00:00:00 UTC. Genelde epoch’tan beri saniye veya epoch’tan beri milisaniye olarak saklanır.

Doğru dönüştürmek için önce birimi bilmeniz gerekir. 1720000000 saniye 2024-07-03 09:46:40 UTC’dir. 1720000000000 milisaniye aynı andır.

Timestamp bir anı tanımlar. UTC, yerel saat veya bir IANA dilimi yalnızca o anın nasıl gösterildiğini değiştirir.

Bu bir dönüşüm kılavuzudur: timestamp’ten tarihe, tarihten timestamp’e, UTC ile yerel, ve ISO 8601. Bir değer beklenmedik biçimde 1970 tarihi olursa, çoğu zaman saniye/milisaniye uyumsuzluğudur—bkz. Unix Timestamp saniye vs milisaniye: tarih neden 1970 gösteriyor.

Unix Timestamp nedir?

Unix timestamp, Unix time ve epoch time genelde 1970-01-01 00:00:00 UTC’den beri geçen süreyi anlatır. Sayı, saat dilimi etiketli biçimlenmiş bir tarih dizisi değildir. Aynı an UTC, New York, Tokyo veya Seul’de farklı saat olarak görünebilir. Unix timestamp her zaman saniye değildir—pratikte milisaniye yaygındır.

Unix Epoch nedir?

Unix epoch 1970-01-01 00:00:00 UTC’dir. Timestamp 0 o andır. Pozitif timestamp epoch’tan sonradır. Bazı sistemler epoch’tan önceki bir zaman için negatif timestamp kabul eder, ancak dil ve tarih aralığı desteği değişir.

Timestamp’im saniye mi milisaniye mi?

1720000000 saniyedir; 1720000000000 milisaniyedir; aynı andır. Pratik ipucu: yaklaşık 10 basamak çoğu zaman saniye, yaklaşık 13 çoğu zaman milisaniyedir. Basamak sayısı yalnızca bir sezgiseldir. Geçmiş veya gelecek tarihler, başka birimler veya özel epoch farklı görünebilir. Tarih ve saat dönüştürücü saniye, milisaniye veya otomatik ile dönüştürebilir (≤10 basamak saniye, ≥13 milisaniye)—birimi biliyorsanız onu seçin.

Yanlış birim neden yanlış tarih üretir?

JavaScript Date milisaniye bekler. 1720000000’i milisaniyeymiş gibi vermek 1970-01-20 21:46:40 UTC verir. Milisaniyeyi saniye saymak, veya tersi, bambaşka bir tarihe düşer. 1970 tanı yolu için bkz. Unix Timestamp saniye vs milisaniye: tarih neden 1970 gösteriyor.

new Date(1720000000);
// 1970-01-20T21:46:40.000Z

Saniye cinsinden Unix timestamp nasıl dönüştürülür

Saniyeyi 1000 ile çarparak milisaniye elde edin. JavaScript Date milisaniye tabanlıdır, bu yüzden new Date(timestamp * 1000) kullanın.

const timestamp = 1720000000;
const date = new Date(timestamp * 1000);
date.toISOString();
// 2024-07-03T09:46:40.000Z

Milisaniye timestamp nasıl dönüştürülür

Milisaniyeyi doğrudan Date’e verin. Zaten milisaniye olan timestamp’i bir kez daha 1000 ile çarpmayın.

const timestamp = 1720000000000;
const date = new Date(timestamp);
date.toISOString();
// 2024-07-03T09:46:40.000Z

Aynı timestamp neden farklı saat gösterir?

Unix timestamp tek bir andır. UTC, yerel saat veya seçilen IANA diliminde göstermek saat yüzünü değiştirir. 1720000000000 için UTC 2024-07-03 09:46:40’tır. America/New_York o günde 2024-07-03 05:46:40 (EDT)’dir. Asia/Seoul 2024-07-03 18:46:40 (UTC+9)’dur. New York ve Seul değerleri Intl’den gelir, sabit sapma sloganından değil.

Unix timestamp saat dilimi içerir mi?

Hayır. America/New_York veya Asia/Seoul saklamaz. Timestamp bir anı tanımlar. Saat dilimi, o anı okunabilir tarih ve saat olarak biçimlerken uygulanır. Epoch UTC’ye göre tanımlıdır; sayının kendisi «UTC saat dilimi alanı» değildir.

Unix Timestamp ile ISO 8601

1720000000 ve 2024-07-03T09:46:40Z aynı anı temsil edebilir. Unix, geçen sürenin sayısal değeridir. ISO 8601 okunabilir bir tarih-saat dizisidir ve Z (UTC) veya sayısal sapmayla bitebilir. Z UTC demektir; bazen Zulu denir. Aynı biçim değillerdir.

Geçerli Unix timestamp nasıl alınır?

JavaScript’te Date.now() milisaniyedir. Math.floor(Date.now() / 1000) saniyedir. Bir yazıda «şimdi»yi sabitlemeyin; hareket eder.

Date.now();
Math.floor(Date.now() / 1000);

Tarih Unix timestamp’e geri dönüştürülebilir mi?

Evet. Açık bir UTC ISO dizisinden getTime() milisaniye döner; saniye için 1000’e bölüp aşağı yuvarlayın.

const date = new Date("2024-07-03T09:46:40Z");
date.getTime();
// 1720000000000
Math.floor(date.getTime() / 1000);
// 1720000000

Belirsiz tarih biçimlerine dikkat

03/07/2024 yöreye göre 7 Mart veya 3 Temmuz olabilir. Saat dilimi veya sapmalı ISO tarzı tarih ve saati yeğleyin. Tarih ve saat dönüştürücü 01/02/2026 gibi belirsiz sayısal tarihleri reddeder ve tarih seçici veya ISO tarzı değer ister.

Yaz saati uygulaması ne olacak?

Unix timestamp bir DST bayrağı saklamaz. Yerel gösterim dilimin kurallarını uygular. America/New_York kışın ve yazın farklı sapmalar kullanır, bu yüzden «New York UTC-5’tir» her zaman doğru değildir.

Unix timestamp artık saniye içerir mi?

Tipik POSIX/Unix zamanı, artık saniyeleri sürekli bir ölçekte ekstra SI saniye olarak saymaz. Platformlar farklılık gösterebilir. Gündelik dönüşümde bu ayrıntıyı yok sayabilirsiniz.

Yaygın Unix timestamp dönüşüm hataları

Bu karışıklıklar yanlış tarih veya yanlış saat yüzü üretir:

Saniyenin milisaniye sayılması
Güncel bir saniye değeri o zaman JavaScript Date’te 1970 yakınına düşer.

Milisaniyenin saniye sayılması
Tarih uzak geleceğe zıplar.

10 veya 13 basamağı yasa saymak
Basamak sayısı ipucudur, güvence değildir.

UTC ile yerel saati karıştırmak
An aynıdır; gösterilen saat farklı olabilir.

Saat diliminin sayının içinde olduğunu sanmak
IANA adları gösterimde uygulanır, timestamp’te saklanmaz.

Belirsiz tarihler, yaz saati sloganları veya fazla ×1000
ISO tarzı girdi kullanın. Milisaniye timestamp’i bir kez daha çarpmayın.

Doğrulanmış UTC örnekleri

Bu UTC saatleri hesaplandı, tahmin edilmedi:

Girdi Birim UTC
0 saniye 1970-01-01 00:00:00
1720000000 saniye 2024-07-03 09:46:40
1720000000000 milisaniye 2024-07-03 09:46:40
1720000000 milisaniye 1970-01-20 21:46:40

Basit bir dönüşüm karar kılavuzu

Kaynak birimi adlandırıyorsa onu kullanın. Değilse basamak sayısı ipucudur—sonra tarihin inandırıcı göründüğünü denetleyin. API ms istiyorsa saniyeyi milisaniyeye çevirin. Gösterim için UTC, yerel veya bir IANA dilimi seçin. ISO 8601 saklama ve değiş tokuş için yararlıdır.

  • Unix timestamp var
  • Birim belirtilmiş mi? Kullanın; değilse büyüklüğe bakın
  • Saniye? API milisaniye istiyorsa ×1000
  • Milisaniye? ms tabanlı API’de doğrudan kullanın
  • UTC, yerel veya IANA dilimi olarak gösterin
  • Dizi mi lazım? ISO 8601 uyabilir
Sayı bir andır. Biçimleme saat yüzünü seçer.
Timestamp bir andır, gösterim biçimi değil

Timestamp zaman içinde bir noktayı tanımlar. UTC, yerel saat veya saat dilimi yalnızca o anın kişiye nasıl gösterileceğine karar verir.

Unix timestamp’leri tarayıcıda dönüştürün

NEXNARA Tarih ve saat dönüştürücü Unix saniye ve milisaniyeyi dönüştürür, UTC, yerel saat ve ISO 8601 gösterir ve IANA saat dilimleri arasında çevirir.

Unix kipi saniye, milisaniye, otomatik birim, geçerli zaman ve tarihten-timestamp’e destekler. Saat dilimi kipi IANA adlarını arar, tarayıcı dilimini kullanır ve yaz saatine duyarlı Intl sapmalarını uygular. Biçim kipinde yöreye göre okunaklı çıktı, 12/24 saat gösterimi ve belirsiz tarih koruması vardır. Tarih farkı ayrı bir kiptir.

Dönüşüm tarayıcının Date ve Intl API’lerini kullanır. Date’in temsil edemediği değerler reddedilir. Otomatik birim 11–12 basamaklı değerleri tahmin etmez; saniye veya milisaniye seçin.

Tarih ve timestamp dönüşümünün kendisi tarayıcınızda olur. Girdiler dönüşüm için bir NEXNARA sunucusuna gönderilmez. Reklamlar ve diğer site özellikleri hâlâ ağı kullanır.

Tarih ve saat dönüştürücü içine bir timestamp yapıştırın ve birim seçmeden önce UTC, yerel saat ve ISO 8601’i karşılaştırın.

FAQ

Unix timestamp’i tarihe nasıl çeviririm?

Birimi bilin. JavaScript’te saniye için new Date(n * 1000) kullanın. Milisaniye için new Date(n). Sonra UTC, yerel veya bir dilim olarak biçimleyin.

Unix timestamp saniye mi milisaniye mi?

İkisi de olabilir. Yaklaşık 10 basamak çoğu zaman saniye, yaklaşık 13 milisaniyedir, ama bu sezgiseldir, kural değildir.

Timestamp’im neden 1970 gösteriyor?

Çoğu zaman saniye değeri milisaniye okunmuştur. Bkz. Unix Timestamp saniye vs milisaniye: tarih neden 1970 gösteriyor.

Unix timestamp her zaman UTC midir?

Epoch UTC’ye göre tanımlıdır ve sayı bir anı tanımlar. Gösterim saat dilimi ayrıdır. Saklı bir «UTC saat dilimi alanı» değildir.

Unix timestamp saat dilimi içerir mi?

Hayır. IANA tanımlayıcısı taşımaz. Saat dilimi, anı biçimlerken uygulanır.

Tarihi Unix timestamp’e nasıl çeviririm?

UTC ISO dizisinden date.getTime() milisaniyedir; Math.floor(date.getTime() / 1000) saniyedir.