0Pricing
Ruby Academy · Ders

Saat Dilimleri

Saat dilimlerini işleme

Saat Dilimleri, CoddyKit'te ücretsiz bir Ruby Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Ruby Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Ruby Academy kursu toplamda 4 dersten oluşur.

Saat Dilimleri Neden Önemlidir

Aynı an, konuma bağlı olarak farklı görünebilir. Saat dilimlerinin yanlış ele alınması saat farkı kaynaklı hatalara neden olur; bu nedenle bir zamanın hangi saat dilimini kullandığını açıkça belirtmelisiniz.

t = Time.new(2026, 5, 30, 12, 0, 0, '+03:00')
puts(t.zone || t.utc_offset)
puts(t.utc_offset)

UTC: Başvuru Saat Dilimi

UTC (Eşgüdümlü Evrensel Zaman) küresel başvuru noktasıdır. Verileri UTC'de saklayıp hesaplamaları UTC'de yapın, ardından görüntülemek için dönüştürün.

t = Time.utc(2026, 5, 30, 9, 0, 0)
puts(t.utc?)
puts(t.hour)

Yerel Zaman

Time.now ve Time.local makinenin yerel saat dilimini kullanır. UTC'den fark, saniye cinsinden utc_offset ile verilir.

t = Time.new(2026, 5, 30, 12, 0, 0, '+03:00')
puts(t.utc_offset)
puts(t.utc_offset / 3600)

UTC'ye Dönüştürme

getutc (diğer adıyla utc) aynı anı UTC cinsinden ifade ederek döndürür. Duvar saati değişir, ancak an aynıdır.

t = Time.new(2026, 5, 30, 12, 0, 0, '+03:00')
puts(t.hour)
puts(t.getutc.hour)

Yerel Bir Farka Dönüştürme

getlocal açık bir fark dizesini kabul eder ve anı bu saat diliminde döndürür.

t = Time.utc(2026, 5, 30, 9, 0, 0)
istanbul = t.getlocal('+03:00')
puts(istanbul.hour)

Oluşturma Sırasında Fark Belirtme

Oluşturma sırasında saat dilimini sabitlemek için bir fark dizesini Time.new yöntemine son bağımsız değişken olarak geçirin.

ny = Time.new(2026, 5, 30, 8, 0, 0, '-04:00')
puts(ny.utc_offset / 3600)
puts(ny.getutc.hour)

Aynı An, Farklı Saatler

Farklı saat dilimlerindeki iki zaman, tam olarak aynı anı temsil edebilir. Karşılaştırma temel alınan anı kullandığından bunlar eşittir.

a = Time.new(2026, 5, 30, 12, 0, 0, '+03:00')
b = Time.new(2026, 5, 30, 9, 0, 0, '+00:00')
puts(a == b)

ISO 8601'de Farklar

ISO 8601 zaman damgaları farkı içerir; örneğin +03:00 veya UTC için Z. Böylece farklı sistemlerde belirsizlik ortadan kalkar.

require 'time'
t = Time.new(2026, 5, 30, 12, 0, 0, '+03:00')
puts(t.iso8601)
puts(t.getutc.iso8601)

Saat Dilimi İçeren Dizeleri Ayrıştırma

Time.parse, girdi dizesinde bulunan farkı dikkate alır.

require 'time'
t = Time.parse('2026-05-30T12:00:00+03:00')
puts(t.utc_offset / 3600)
puts(t.getutc.hour)

En İyi Uygulama: UTC'de Saklama

En güvenli yöntem şudur: UTC'de saklayın, aritmetik işlemleri UTC'de yapın ve yalnızca görüntüleme sırasında kullanıcının saat dilimine dönüştürün. Bu, belirsizliği tamamen ortadan kaldırır.

stored = Time.utc(2026, 5, 30, 9, 0, 0)
display = stored.getlocal('+03:00')
puts("UTC #{stored.hour} -> Local #{display.hour}")

DST Uyarısı

+03:00 gibi sabit bir fark, yaz saati uygulamasını göz ardı eder. DST kurallarına sahip adlandırılmış saat dilimleri için tzinfo gem'i gibi kitaplıklar gerekir; temel Time sınıfı yalnızca sabit farkları bilir.

t = Time.new(2026, 7, 1, 12, 0, 0, '+02:00')
puts(t.utc_offset / 3600)

Hızlı Kontrol

Bir uygulamada saat dilimlerini ele almak için önerilen strateji nedir?

Özet: Saat Dilimleri

Saat dilimlerini doğru biçimde ele almayı öğrendiniz:

  • UTC küresel başvuru noktasıdır
  • getutc ve getlocal anı değiştirmeden dönüştürür
  • Farklar oluşturma sırasında veya ISO 8601 dizelerinde ayarlanır
  • Farklı saat dilimlerindeki aynı an karşılaştırıldığında eşittir
  • UTC'de saklayın, yerel olarak görüntüleyin; sabit farklar DST'yi göz ardı eder
require 'time'
puts(Time.utc(2026,5,30,9).getlocal('+03:00').hour)

Sıkça Sorulan Sorular

“Saat Dilimleri” dersi ücretsiz mi?

Evet — “Saat Dilimleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Ruby Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Ruby Academy kursu toplamda 4 dersten oluşur.

“Saat Dilimleri” dersinde ne öğreneceğim?

Saat dilimlerini işleme Ruby Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Ruby Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Ruby Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Saat Dilimleri” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Ruby Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Ruby Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Zaman ve Tarih Sınıfları
  2. Ayrıştırma ve Biçimlendirme
  3. Zaman Aritmetiği
  4. Saat Dilimleri
← Ruby Academy Sayfasına Dön