Unix zaman damgası (Unix timestamp) değerini almak
C#, JavaScript ve Python ile Unix timestamp üretme örnekleri. Saniye/milisaniye farkı, UTC kullanımı ve tarih saklama mantığını kısa notlarla anlatır.
Unix zaman damgası, 1 Ocak 1970'ten (UTC) itibaren geçen saniye sayısıdır. Zamanı tek bir sayıya indirdiği için saklaması, karşılaştırması ve sistemler arasında taşıması kolaydır — saat dilimi ve biçim tartışması ortadan kalkar.
Aşağıda C# ve JavaScript karşılıkları var. Birimleri farklıdır: C# örneği saniye, JavaScript örneği milisaniye üretir. İki taraf arasında değer taşırken bunu göz ardı etmek, tarihlerin 1970'e düşmesinin veya binlerce yıl ileri gitmesinin en sık sebebidir.
Bir nokta daha: zaman damgası her zaman UTC'dir. Kullanıcıya gösterirken yerel saate çevirin, saklarken çevirmeyin.
long timestamp = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds();
var timestamp=(new Date()) / 1;
import time
timestamp = int(time.time())
Kısa rehber
Ne zaman kullanılır?
Unix timestamp; oturum süreleri, API kayıtları, kuyruk işleri, ödeme bildirimleri ve farklı sistemler arasında tarih taşınan hemen her yerde işe yarar. Özellikle web ve mobil uygulamalarda sunucu ile istemci aynı zamanı konuşsun istiyorsanız sade ve güvenilir bir ortak dildir.
Dikkat edilecekler
- Saniye ve milisaniye farkını netleştirin; JavaScript çoğu zaman milisaniye, birçok backend sistemi saniye kullanır.
- Veriyi saklarken UTC kullanın, kullanıcıya gösterirken yerel saate çevirin.
- Veritabanında tarih mi timestamp mi tutacağınıza raporlama ve filtreleme ihtiyacına göre karar verin.
Sık yapılan hata
En sık hata, timestamp değerini yerel saat gibi düşünmektir. Değer tek başına saat dilimi taşımaz; bu yüzden kullanıcıya gösterilen tarih için ayrıca dönüşüm yapmak gerekir.
Bu örnek nerede işe yarar?
Bu tür küçük yardımcı kodlar web yazılımı, mobil uygulama arka uçları, yönetim panelleri ve API projelerinde zaman kazandırır. Önemli olan örneği olduğu gibi kopyalamak değil, veri formatı, güvenlik ve performans beklentisine göre projeye uyarlamaktır.