An, yerel tarih ve tekrar kuralını ayırın
Bir ödeme tamamlandığı an belirli bir zaman çizgisi noktasını temsil eder. Bir doğum günü yalnızca yerel tarih olabilir. Bir mağazanın haftalık açılış saati ise saat dilimiyle ilişkili tekrar kuralıdır. Bunların hepsini aynı alan türüyle ele almak uygulamanın anlamını daraltabilir.
IANA saat dilimi veritabanı, yerel saat ve yaz saati kurallarındaki değişiklikleri yansıtan veriler içerir. [2] Bu nedenle yalnızca sabit UTC farkı saklamak bir bölgenin gelecekteki davranışını her zaman ifade etmez. Kullanıcının niyeti yerel saate bağlıysa bölge kimliği ve tekrar kuralı da korunmalıdır.
Ofset ile saat dilimi aynı değildir
UTC farkı belirli bir andaki farkı gösterir. Saat dilimi ise tarih boyunca uygulanabilen kuralları ifade eder. İki bölge bugün aynı farkta olabilir ama gelecekte farklı davranabilir. Uluslararası toplantı veya teslim planında yalnızca “artı üç” gibi bir değerle bütün ihtiyacı modellemeyin.
Python zoneinfo, IANA verileriyle çalışan saat dilimi nesneleri sağlar ve bazı yerel saatlerin tekrarlandığı geçişlerde ayrım yapılmasını destekler. [1] Kullanılan dil veya kütüphane farklıysa eşdeğer davranışlar kendi dokümantasyonundan kontrol edilmelidir. Kütüphanenin bulunması doğru iş kararının verildiğini kanıtlamaz.
Var olmayan ve tekrarlanan saati açık ele alın
Yaz saati geçişi uygulanan bazı bölgelerde bir yerel saat atlanabilir veya iki kez yaşanabilir. Kullanıcının seçtiği saatin böyle bir güne gelmesi halinde ne olacak? İleri taşıma, atlama veya açıklamalı seçim gibi bir politika gerekebilir. Uygulama sessizce farklı saate kayıt yapmamalıdır.
Varsayımsal bir çevrim içi eğitim her hafta belirli bölgenin yerel saatinde başlasın. Başka ülkedeki katılımcının gördüğü saat dönem içinde değişebilir. Eğitimin yerel saatiyle katılımcının görüntüleme saati ayrı tutulmalıdır. Bildirimde tarih ve saat dilimi açık gösterilsin; sadece “yarın sabah” gibi bağlamı belirsiz metin kullanılmasın.
Örnek zaman kabul tablosu
| Veri | Korunacak bağlam | Test |
|---|---|---|
| Tamamlanan işlem | Kesin an ve kaynak | Farklı bölgelerde aynı an |
| Tekrarlanan toplantı | Bölge ve tekrar kuralı | Saat değişimi dönemi |
| Yerel son tarih | Tarih ve iş bağlamı | Gece yarısı dönüşümü |
| Kullanıcı bildirimi | Alıcının gösterim bölgesi | Tarih kayması ve açıklık |
Tablo belirli bir ülkenin güncel saat uygulamasını açıklamaz; sınanması gereken veri türlerini gösterir. Test için kullanılan bölgelerin güncel kuralları IANA verisiyle doğrulansın. Geçişleri sabit takvim varsayımlarıyla kod içine yazmak yerine güncel saat dilimi verisini kullanın.
Rapor sınırlarını da saat dilimine bağlayın
“Günlük sipariş” raporunun günü hangi bölgede başlıyor? Aynı UTC aralığı farklı yerel günleri kesebilir. Bir işletmenin rapor bölgesiyle kullanıcının ekran bölgesi farklı olabilir. Filtrede ve dosya çıktısında hangi sınırların kullanıldığı açıklansın. Yerel günlerin her koşulda aynı uzunlukta olduğunu varsaymayın.
Kabul testinde farklı bölgedeki kullanıcılar, gece yarısı yakınındaki işlemler ve tekrar eden planlar bulunsun. Saat dilimi veritabanı güncellendiğinde gelecekteki planların etkisi değerlendirilmelidir. Geçmiş işlemin kesin anı korunurken gelecekteki yerel niyet için yeniden hesaplama gerekebilir; bu karar yazılı olsun.
Sık sorulan sorular
Bütün tarihleri UTC saklamak yanlış mı?
Kesin anlar için yararlıdır. Ancak yerel tarih veya tekrar kuralının anlamını kaybetmemek için ek bağlam gerekebilir. Veri türüne göre karar verin.
Türkiye’de çalışıyorsak bu testlere gerek var mı?
Müşteri, sunucu, entegrasyon veya rapor farklı bölgeleri kullanabilir. Yalnızca şirketin bulunduğu yere bakarak zaman bağlamını ihmal etmeyin.
Teknik kaynaklar
Kaynaklar teknik kavramları destekler. Örnek tablolar ve senaryolar önerilen çalışma araçlarıdır; gerçek müşteri sonucu, bağımsız denetim veya platform garantisi değildir. Uygulama öncesinde kullanılan ürünün güncel koşulları kontrol edilmelidir.
Bu ihtiyacı çalışan bir sisteme dönüştürelim.
Mevcut sisteminizi, sorun yaşadığınız iş akışını ve beklediğiniz sonucu paylaşın. Ganz Dijital ile projenizin kapsamını ve kabul koşullarını netleştirin.
İlgili hizmeti inceleWhatsApp üzerinden görüşelim →Hazırlama notu: İçerik, belirtilen kaynaklar ve özgün örnek senaryolar kullanılarak yapay zekâ desteğiyle hazırlanmıştır. Sayısal örnekler aksi belirtilmedikçe varsayımsaldır. İşletmeye özel güvenlik, hukuki ve operasyonel gereksinimler ayrıca değerlendirilmelidir.