Zaman

4 tools

ToolDeck'in zaman araçları, Unix zaman damgalarını dönüştürmenize, cron ifadelerini ayrıştırmanıza, cron zamanlamalarını görsel olarak oluşturmanıza ve cron sözdizimini doğrudan tarayıcınızda doğrulamanıza olanak tanır. Zaman Damgası Dönüştürücü, Unix epoch değerleri ile tüm yaygın formatlarda insan tarafından okunabilir tarihler arasında çeviri yapar. Cron İfadesi Ayrıştırıcı, cron dizelerini yaklaşan çalışma önizlemeleriyle birlikte sade dil açıklamalarına döker. Cron İfadesi Oluşturucu, manuel düzenleme yapmadan adım adım görsel bir arayüz üzerinden cron ifadeleri oluşturur. Cron İfadesi Doğrulayıcı, cron sözdizimini denetler ve her bileşenin alan-alan dökümünü gösterir. Tüm işlemler tarayıcınızda yerel olarak çalışır; sunucuya veri gönderilmez, hesap gerekmez ve veri toplanmaz.

Zaman Damgası Dönüştürücü'yü günlük kayıtlardan veya API'lerden gelen epoch değerlerini çevirmek için, Cron İfadesi Ayrıştırıcı'yı mevcut bir zamanlamayı sade dile çevirmek için, Cron İfadesi Oluşturucu'yu yeni bir ifadeyi görsel olarak oluşturmak için, ya da Cron İfadesi Doğrulayıcı'yı üretime dağıtmadan önce sözdizimini doğrulamak için kullanın.

Zaman Araçları Nedir?

Zaman araçları, geliştiricilerin tarihler, zaman damgaları ve zamanlanmış yürütme ile çalışırken karşılaştıkları pratik sorunları çözer. Unix zaman damgaları veritabanı sütunlarında, API yanıtlarında, günlük dosyalarında ve JWT taleplerinde görünür. Bir olay sırasında 1717200000 gibi ham bir değeri okumak, insan tarafından okunabilir bir tarihe dönüştürme gerektirir. Cron ifadeleri CI/CD yapılandırmalarında, Kubernetes manifestolarında ve sunucu crontab dosyalarında yer alır. 0 9 * * 1-5 yazıp bunun hafta içi (hafta sonu değil) sabah 9'da çalıştığından emin olmak bir ayrıştırıcı veya doğrulayıcı gerektirir.

Zaman araçları iki ayrı alanı kapsar. Zaman damgası dönüştürme, Unix epoch değerleri (1970-01-01 00:00:00 UTC'den bu yana saniye veya milisaniye) ile biçimlendirilmiş tarih dizeleri arasında çeviri yapmayı kapsar. İlgili başlıca standartlar şunlardır: ISO 8601 (Uluslararası Standartlar Örgütü tarafından tanımlanan uluslararası tarih/saat biçimi), RFC 3339 (IETF tarafından yayımlanan, ISO 8601'in internet profili) ve RFC 2822 (e-posta başlıklarında ve HTTP'de kullanılan tarih biçimi). Cron ifadesi araçları ise POSIX (IEEE Std 1003.1) tarafından tanımlanmış beş alanlı zamanlama sözdizimini ayrıştırmayı, oluşturmayı ve doğrulamayı kapsar. Bu sözdizimi günümüzde crontab, systemd zamanlayıcıları, GitHub Actions, Kubernetes CronJob'ları ve AWS EventBridge ile Google Cloud Scheduler gibi bulut zamanlayıcılar tarafından kullanılmaktadır.

Geliştiriciler bu araçlara hata ayıklama sırasında (günlüklerden veya veritabanı satırlarından zaman damgalarını dönüştürmek için), dağıtım sırasında (cron zamanlamalarını yayına girmeden önce yazmak ve doğrulamak için) ve kod incelemesi sırasında (bir iş arkadaşının cron ifadesinin hedeflenen zamanlama ile eşleştiğini teyit etmek için) başvurur. QA mühendisleri, API yanıtlarının doğru tarih değerleri içerdiğini doğrulamak için zaman damgası dönüştürmeyi kullanır. DevOps mühendisleri, yedekleme zamanlamaları, günlük döndürme ve sertifika yenileme görevleri kurmak için cron araçlarını kullanır.

Neden ToolDeck'teki Zaman Araçlarını Kullanmalısınız?

ToolDeck'in zaman araçları tamamen tarayıcınızda çalışır. Zaman damgaları ve cron ifadeleri JavaScript aracılığıyla yerel olarak işlenir; dolayısıyla hiçbir şey makinenizden çıkmaz. Her araç tek bir göreve odaklanır ve kayıt akışları veya hız sınırları olmadan anında yüklenir.

🔒
Yalnızca Tarayıcıda İşleme
Tüm dönüştürmeler ve doğrulamalar cihazınızda JavaScript ile çalışır. API çağrısı yok, sunucu günlüğü yok, veri saklama yok. Üretim veritabanlarındaki zaman damgaları ve dahili cron zamanlamaları makinenizde kalır.
Anlık Sonuçlar
Bir Unix zaman damgası veya cron ifadesi yapıştırın ve sonucu hemen görün. Gidiş-dönüş gecikme yok, kuyruk yok, yükleme göstergeleri yok.
📐
Standartlara Uygun Çıktı
Zaman damgası dönüştürmeleri ISO 8601 (RFC 3339) ve RFC 2822 çıktısı üretir. Cron ayrıştırma, POSIX beş alanlı biçimini ve saniye alanları, L (son), W (en yakın hafta içi günü) ve # (n'inci hafta içi günü) karakterleri gibi yaygın uzantıları destekler.
🔓
Hesap Gerekmez
Sayfayı açın ve çalışmaya başlayın. Kayıt yok, API anahtarı yok, kullanım sınırı yok. Aracı yer imlerine ekleyin ve ihtiyaç duyduğunuzda kullanın.

Zaman Araçları Kullanım Senaryoları

Zaman damgası ve cron sorunları arka uç, DevOps ve QA çalışmalarında sürekli karşılaşılan konulardır.

Günlük Analizi
Olay araştırmaları sırasında olayları ilişkilendirmek için uygulama günlüklerindeki epoch zaman damgalarını okunabilir tarihlere dönüştürün. 10 basamaklı veya 13 basamaklı bir değerin saniye mi yoksa milisaniye mi olduğunu hızlıca belirleyin.
CI/CD Zamanlama
GitHub Actions iş akışları, Jenkins ardışık düzenleri veya GitLab CI zamanlamaları için cron ifadelerini işlemeden önce oluşturun ve doğrulayın. Zamanlamayı teyit etmek için sonraki beş çalışma zamanını önizleyin.
Kubernetes CronJob Kurulumu
Sonraki çalışma zamanlarını önizlemek ve hedeflenen Kubernetes CronJob zamanlamasıyla eşleştiğini teyit etmek için bir cron ifadesini ayrıştırın.
Veritabanı Hata Ayıklama
Veri sorunlarını araştırırken veritabanı sütunlarında saklanan Unix zaman damgalarını insan tarafından okunabilir tarihlere çevirin.
İzleme ve Uyarı
Prometheus uyarı kuralları, Grafana rapor zamanlamaları veya PagerDuty bakım pencereleri için cron ifadeleri yazın. Terraform veya Helm yapılandırmalarına eklemeden önce sözdizimini doğrulayın.
API Yanıtı İncelemesi
REST API'leri tarafından döndürülen epoch zaman damgalarını çözerek created_at, updated_at ve expires_at alanlarının beklenen değerleri içerdiğini doğrulayın.

Zaman Biçimleri ve Cron Sözdizimi Başvurusu

Bilinmesi gereken iki alan: API'lerde, veritabanlarında ve günlüklerde kullanılan zaman damgası biçimleri; Unix cron, Kubernetes, GitHub Actions ve bulut zamanlayıcılar tarafından kullanılan cron ifadesi sözdizimi.

Yaygın Zaman Damgası Biçimleri

BiçimÖrnekStandart / Not
1717200000Unix saniyePOSIX / IEEE Std 1003.1
1717200000000Unix milisaniyeJavaScript Date.now(), Java
2024-06-01T00:00:00.000ZMilisaniyeli UTCISO 8601 / RFC 3339
2024-06-01T00:00:00+02:00UTC ofseti ileISO 8601 / RFC 3339
Sat, 01 Jun 2024 00:00:00 +0000E-posta / HTTP başlıklarıRFC 2822
2024-06-01Yalnızca tarihISO 8601 (calendar date)

Cron İfadesi Alanları

Alanİzin Verilen DeğerlerÖzel Karakterler
Dakika0–59* , - /
Saat0–23* , - /
Ayın günü1–31* , - / ? L W
Ay1–12 or JAN–DEC* , - /
Haftanın günü0–6 or SUN–SAT* , - / ? L #

Standart beş alanlı cron (dakikadan haftanın gününe) POSIX (IEEE Std 1003.1) tarafından tanımlanmıştır ve crontab, systemd, Kubernetes CronJob'ları, GitHub Actions ve çoğu CI/CD platformu tarafından kullanılmaktadır. Quartz ve Spring gibi bazı sistemler saniyeler için altıncı bir alan ekler. AWS EventBridge, yıl alanı içeren altı alanlı bir varyant kullanır. L (son), W (en yakın hafta içi günü) ve # (n'inci tekrar) karakterleri, Quartz uyumlu sistemler tarafından desteklenen uzantılardır; ancak POSIX cron tarafından desteklenmez.

Doğru Zaman Aracını Nasıl Seçersiniz?

Her zaman aracı farklı bir görevi ele alır; dört araç tek bir iş akışında da birlikte kullanılabilir. Günlüklerde, API yanıtlarında veya veritabanı sütunlarında ham bir epoch değeriyle karşılaştığınızda Zaman Damgası Dönüştürücü'yü kullanın. Bir zamanlamayı manifesto veya yapılandırma dosyasına işlemeden önce cron araçlarını birlikte kullanın: ifadeyi oluşturmak için Oluşturucu'yu, yaklaşan çalışma zamanlarını önizlemek için Ayrıştırıcı'yı ve sözdizimini onaylamak için Doğrulayıcı'yı kullanın.

  1. 1
    Eğer yapmanız gereken Unix zaman damgasını okunabilir tarihe veya tersine dönüştürmekZaman Damgası Dönüştürücü
  2. 2
    Eğer yapmanız gereken mevcut bir cron ifadesinin ne yaptığını anlamak ve bir sonraki çalışma zamanını görmekCron İfadesi Ayrıştırıcı
  3. 3
    Eğer yapmanız gereken görsel bir arayüz kullanarak sıfırdan yeni bir cron ifadesi oluşturmakCron İfadesi Oluşturucu
  4. 4
    Eğer yapmanız gereken bir cron ifadesinin sözdizimsel olarak geçerli olup olmadığını kontrol etmek ve her alanı incelemekCron İfadesi Doğrulayıcı

Eksiksiz bir cron iş akışı için: ifadeyi Oluşturucu'da hazırlayın, sonraki çalışma zamanlarını Ayrıştırıcı'da önizleyin ve bir manifesto ya da crontab dosyasına işlemeden önce sözdizimini Doğrulayıcı'da onaylayın. Bir API veya veritabanındaki zaman damgalarını hata ayıklıyorsanız Zaman Damgası Dönüştürücü, hem saniye hem de milisaniye Unix zaman damgalarını işler ve ISO 8601, RFC 2822 ile yerel biçimli tarihleri çıktı olarak verir. Zaman Damgası Dönüştürücü JWT incelemesi için de kullanışlıdır: bir JSON Web Token'ındaki exp (son kullanma) ve iat (verilme zamanı) talepleri Unix saniye zaman damgalarıdır ve her iki değeri de dönüştürücüye yapıştırmak, herhangi bir kod yazmadan kesin verilme zamanını veya son kullanma penceresini ortaya koyar.

Sıkça Sorulan Sorular

Unix zaman damgası nedir?
Unix zaman damgası, Unix epoch olarak bilinen 1970-01-01 00:00:00 UTC'den bu yana geçen saniye (veya sisteme bağlı olarak milisaniye) sayısıdır. Saat diliminden bağımsızdır: aynı zaman damgası dünyada her yerde aynı mutlak ana karşılık gelir. JavaScript milisaniye zaman damgaları kullanırken (Date.now()), çoğu Unix aracı ve veritabanı saniye kullanır.
Cron ifadesi nedir?
Cron ifadesi, yinelenen bir zamanlamayı tanımlayan beş boşlukla ayrılmış alandan oluşan bir dizedir: dakika, saat, ayın günü, ay ve haftanın günü. Bu biçim Unix Sürüm 7'de (1979) tanıtılmıştır ve artık crontab, systemd zamanlayıcıları, Kubernetes CronJob'ları, GitHub Actions, AWS EventBridge ve diğer pek çok zamanlayıcı tarafından kullanılmaktadır. Her alan tek değerleri (5), aralıkları (1-5), listeleri (1,3,5), adım değerlerini (*/15) ve joker karakterleri (*) kabul eder. Örneğin 30 9 * * 1-5, hafta içi UTC 09:30'a karşılık gelir.
Saniye ve milisaniye zaman damgaları arasında nasıl dönüştürme yapılır?
Milisaniye elde etmek için saniye cinsinden zaman damgasını 1000 ile çarpın. Saniye elde etmek için milisaniye cinsinden zaman damgasını 1000'e bölün (ve sonucu aşağı yuvarlayın). Saniye cinsinden bir zaman damgası genellikle 10 basamaklıdır; örneğin 1717200000. Milisaniye cinsinden bir zaman damgası ise 13 basamaklıdır: 1717200000000 gibi. Bu ikisini karıştırmak en yaygın zaman damgası hatalarından biridir.
Cron ifadesinde */5 ne anlama gelir?
*/5 sözdizimi ilgili alanda "her 5. değer" anlamına gelir. Dakika alanında */5, görevi 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 ve 55. dakikalarda çalıştırır. Adım operatörü (/) aralıklarla da çalışır: 1-30/5, 1 ile 30 arasında her 5. dakika demektir.
Zaman damgalarını neden UTC olarak saklamalıyım?
UTC'de saklamak, yaz saati uygulaması geçişlerinden, sunucu saat dilimi uyuşmazlıklarından ve bölgeler arası veri toplamasından kaynaklanan belirsizliği ortadan kaldırır. Yerel saate yalnızca sunum katmanında (kullanıcı arayüzü veya rapor oluşturma adımı) dönüştürün. Zaman damgaları yerel saate göre saklandığında, yaz saati geçişleri boşluklar ve çakışmalar yaratır: 02:30 mevcut olmayabilir (ileri alınırken) veya iki kez gerçekleşebilir (geri alınırken). UTC'de böyle geçişler yoktur. Bu yaklaşım dağıtık sistemlerde standart uygulamadır ve W3C Tarih ve Saat Biçimleri notunda önerilmektedir.
ISO 8601 nedir?
ISO 8601, tarih ve saat dize biçimleri için uluslararası standarttır. En yaygın biçim YYYY-MM-DDTHH:MM:SS.sssZ'dir; burada Z soneki UTC anlamına gelir. ISO 8601 dizeleri, sözlüksel sıralamada kronolojik sırayı korur; bu da onları günlük dosyaları, veritabanı indeksleri ve API yanıtları için pratik kılar.
Cron ifadeleri her saniye çalışabilir mi?
Standart beş alanlı cron, dakikanın altında zamanlama desteklemez. En küçük aralık dakikada bir kez çalıştırmadır (dakika alanında * kullanarak). Spring'in @Scheduled'ı ve Quartz gibi bazı sistemler, saniye bazında çalışmaya izin veren altıncı bir saniye alanı ekler. Kubernetes CronJob'ları ve crontab saniyeyi desteklemez.
2038 yılı sorunu nedir?
Unix zaman damgalarını 32 bitlik işaretli tamsayı olarak saklayan sistemler 2038-01-19 tarihinde 03:14:07 UTC'de taşacaktır. İşaretli 32 bitlik tamsayının maksimum değeri 2.147.483.647'dir ve bu tam olarak o ana karşılık gelir. Taşmadan sonra sayaç, Aralık 1901'deki bir tarihi temsil eden büyük bir negatif sayıya döner. Modern 64 bitlik sistemler ve diller (JavaScript, Python 3, Go, Rust) bundan etkilenmez. Eski gömülü aygıtlar, ext3 dosya sistemi zaman damgaları, eski MySQL TIMESTAMP sütunları ve bazı ikili protokoller risk altında kalmaya devam etmektedir.