-- Go

Go ile Tarih ve Saat İşlemleri

Merhaba,

Gelişmiş programlama dili ve veritabanlarında en değerli yeteneklerden biri zaman değerleri üzerinden işlemler yapabilmektir. Basit gibi görünen ancak derinlemesine ve detaylı bir çok farklı süreçte farklı şekilde yönetilmesi gereken verilerdir. Genel olarak zaman ve para birimi verileri “Geçici Veri / Temporary Data” olarak isimlendirilir. Çünkü kayıtlı olan ya da olmayan sabit bir veri üzerinde onlarca ve hatta yüzlerce işlem yapmanız gerekebilir.

Mesela, kullandığınız herhangi bir yazılım, sizin işletim sisteminizdeki zaman bilgisini size Türkiye zaman kuralları ve formatına göre gösterim yapar, ancak aynı veriyi Almanya ya da Çin’deki bir kullanıcı için farklı formatlarda gösterir. Veri tek, ancak işleme yöntemi çok farklı olabilir. Aynı şekilde finansal bir yazılımda, elinizdeki 1 TL size 1 Türk Lirası olarak gösterilebilir, ancak bir ABD vatandaşı sizdeki 1 TL’yi ABD doları cinsinden görmek isteyebilir, bu nedenle anlık olarak “TL to USA Dollar” işlemi yapılarak ona güncel kur üzerinden ABD dolar karşılığı gösterilebilir. Aynı işlem bir Çin’li için Yuan para birimi cinsi için yapılmak istenebilir.

Yazılım ve veritabanı alanında para birimi, zaman ve dil işlemleri ciddi derinliğe sahip başlıklardır. Bu makalemin konusu GOLang ile basit zaman işlerine örnekler vermektir. Bu nedenle GO’ya geri dönüyorum.

Zaman işlemlerini GO’da temel olarak, dile gömülü halde bulunan “time” sınıfında bulabiliriz.

package main

import (
	"fmt"
	"time"
)

func main() {

	// Date() metodu ile kendi tarih verimizi oluşturuyoruz.
	t := time.Date(2016, time.November, 10, 20, 0, 0, 0, time.UTC)

	// t adıyla tarih tipinde oluşturulan veriyi string tipinde ekrana yazıyoruz.
	fmt.Printf("Go Launch at %s\n", t)

	fmt.Println("-----")

	// time.Now() ile şu anın zaman bilgisini alıyoruz.
	now := time.Now()

	// Elde edilen zaman bilgisini ekrana yazıyoruz.
	fmt.Printf("The time now is %s\n", now)

	fmt.Println("-----")

	// İlk başta oluşturduğumuz t adındaki zaman bilgisinden Ay, Gün ve Haftanın Günü bilgilerini ekrana yazıyoruz.
	fmt.Println("The month is", t.Month())
	fmt.Println("The day is", t.Day())
	fmt.Println("The weekday is", t.Weekday())

	fmt.Println("-----")

	// Tarihe 1 gün ekle!
	tomorrow := t.AddDate(0, 0, 1)
	fmt.Printf("Tomorrow is %v, %v, %v, %v\n",
		tomorrow.Weekday(),
		tomorrow.Month(),
		tomorrow.Day(),
		tomorrow.Year())

	fmt.Println("-----")

	longFormat := "Monday, Junuary 2, 2006"
	fmt.Prinln("Tomorrow is", tomorrow.Format(longFormat))

	fmt.Println("-----")

	shortFormat := "1/2/06"
	fmt.Printf("Tomorrow is", tomorrow.Format(shortFormat))
}

 
İyi çalışmalar.

Yorumla

Yorum