0Pricing
Go Academy · Ders

Zaman ve Süre

Anları ve aralıkları temsil edin

Zaman ve Süre, CoddyKit'te ücretsiz bir Go Academy dersidir. Bu, 4 dersinin 1. 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, Go Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Go Academy kursu toplamda 4 dersten oluşur.

time Paketi

Go'nun time paketi zamandaki anları ve bunlar arasındaki süreleri temsil eder.

  • time.Time belirli bir andır.
  • time.Duration bir zaman süresidir.
package main

import (
    "fmt"
    "time"
)

func main() {
    var d time.Duration = 2 * time.Second
    fmt.Println(d)
}

Geçerli Zamanı Alma

time.Now(), geçerli anı bir time.Time olarak döndürür. (Kesin değeri programın ne zaman çalıştırıldığına bağlıdır.)

package main

import (
    "fmt"
    "time"
)

func main() {
    now := time.Now()
    fmt.Println(now.Year())
}

Belirli Bir Zaman Oluşturma

time.Date, parçalarından kesin bir an oluşturur: yıl, ay, gün, saat, dakika, saniye, nanosaniye ve konum.

package main

import (
    "fmt"
    "time"
)

func main() {
    t := time.Date(2026, time.May, 30, 9, 0, 0, 0, time.UTC)
    fmt.Println(t)
}

Zaman Bileşenlerini Okuma

Bir time.Time, Year, Month, Day, Hour ve Weekday gibi yöntemler sunar.

package main

import (
    "fmt"
    "time"
)

func main() {
    t := time.Date(2026, time.May, 30, 0, 0, 0, 0, time.UTC)
    fmt.Println(t.Month(), t.Day(), t.Weekday())
}

Süre Sabitleri

Süreleri birim sabitlerini çarparak oluşturun: time.Hour, time.Minute, time.Second, time.Millisecond.

package main

import (
    "fmt"
    "time"
)

func main() {
    d := 1*time.Hour + 30*time.Minute
    fmt.Println(d)
}

Süreleri Dönüştürme

Seconds(), Minutes() ve Hours() gibi yöntemler süreyi ilgili birimde bir float64 olarak döndürür.

package main

import (
    "fmt"
    "time"
)

func main() {
    d := 90 * time.Minute
    fmt.Println(d.Hours())
    fmt.Println(d.Seconds())
}

Zaman Ekleme

t.Add(d), bir süre kadar kaydırılmış yeni bir zaman döndürür. time.Time bir değer türü olduğundan özgün değer değişmez.

package main

import (
    "fmt"
    "time"
)

func main() {
    t := time.Date(2026, time.May, 30, 9, 0, 0, 0, time.UTC)
    later := t.Add(2 * time.Hour)
    fmt.Println(later.Hour())
}

Takvim Birimleri Ekleme

t.AddDate(years, months, days), ay uzunluklarını ve artık yılları doğru şekilde ele alarak zamanı takvim miktarları kadar kaydırır.

package main

import (
    "fmt"
    "time"
)

func main() {
    t := time.Date(2026, time.January, 31, 0, 0, 0, 0, time.UTC)
    next := t.AddDate(0, 1, 0)
    fmt.Println(next.Month(), next.Day())
}

Zamanlar Arasındaki Fark

t2.Sub(t1), iki zaman arasındaki Duration değerini döndürür. Negatif sonuç, t2 zamanının daha erken olduğunu gösterir.

package main

import (
    "fmt"
    "time"
)

func main() {
    a := time.Date(2026, time.May, 30, 9, 0, 0, 0, time.UTC)
    b := time.Date(2026, time.May, 30, 12, 0, 0, 0, time.UTC)
    fmt.Println(b.Sub(a))
}

Zamanları Karşılaştırma

Anları karşılaştırmak için Before, After ve Equal kullanın. == kullanmaktan kaçının; çünkü bu işlem dahili konumu da karşılaştırır.

package main

import (
    "fmt"
    "time"
)

func main() {
    a := time.Date(2026, 5, 30, 9, 0, 0, 0, time.UTC)
    b := time.Date(2026, 5, 30, 10, 0, 0, 0, time.UTC)
    fmt.Println(a.Before(b))
}

Unix Zaman Damgaları

t.Unix(), 1 Ocak 1970'ten bu yana geçen saniyeleri verir. time.Unix(sec, 0) ise bunu bir time.Time değerine dönüştürür.

package main

import (
    "fmt"
    "time"
)

func main() {
    t := time.Date(2026, 5, 30, 0, 0, 0, 0, time.UTC)
    secs := t.Unix()
    fmt.Println(time.Unix(secs, 0).UTC().Year())
}

Hızlı Kontrol

t2.Sub(t1) ne döndürür?

Özet: Zaman ve Süre

Temel zaman modelini öğrendiniz:

  • time.Time bir andır; time.Duration ise bir zaman aralığıdır.
  • Now ve Date ile oluşturun; Add ve AddDate ile zamanını değiştirin.
  • Sub ile ölçün, Before/After ile karşılaştırın.
package main

import (
    "fmt"
    "time"
)

func main() {
    start := time.Date(2026, 5, 30, 8, 0, 0, 0, time.UTC)
    end := start.Add(45 * time.Minute)
    fmt.Println(end.Sub(start).Minutes(), "minutes")
}

Sıkça Sorulan Sorular

“Zaman ve Süre” dersi ücretsiz mi?

Evet — “Zaman ve Süre” 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 Go Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Go Academy kursu toplamda 4 dersten oluşur.

“Zaman ve Süre” dersinde ne öğreneceğim?

Anları ve aralıkları temsil edin Go 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.

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

Önceden deneyim gerekmez. CoddyKit'te Go 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 1. dersidir.

“Zaman ve Süre” 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 Go Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Go 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 Süre
  2. Biçimlendirme ve Ayrıştırma
  3. Zamanlayıcılar ve Tiklayıcılar
  4. Saat Dilimleri
← Go Academy Sayfasına Dön