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.Timebelirli bir andır.time.Durationbir 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.Timebir andır;time.Durationise bir zaman aralığıdır.NowveDateile oluşturun;AddveAddDateile zamanını değiştirin.Subile ölçün,Before/Afterile 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.