Epoch

Epoch #

// ပရိုဂရမ်တွေမှာ အဖြစ်များတဲ့ လိုအပ်ချက်တစ်ခုကတော့ [Unix epoch](https://en.wikipedia.org/wiki/Unix_time) ကနေစပြီး
// ကြာခဲ့တဲ့ စက္ကန့်၊ မီလီစက္ကန့်၊ သို့မဟုတ် နာနိုစက္ကန့် အရေအတွက်ကို ရယူဖို့ပါ။
// Go မှာ ဒါကို ဘယ်လိုလုပ်ရမလဲဆိုတာ ဒီမှာရှိပါတယ်။

package main

import (
	"fmt"
	"time"
)

func main() {

	// Unix epoch ကနေစပြီး ကြာခဲ့တဲ့အချိန်ကို စက္ကန့်၊ မီလီစက္ကန့်၊ သို့မဟုတ်
	// နာနိုစက္ကန့်အလိုက် ရယူဖို့ `time.Now` ကို `Unix`၊ `UnixMilli` သို့မဟုတ် `UnixNano` နဲ့
	// တွဲသုံးပါတယ်။
	now := time.Now()
	fmt.Println(now)

	fmt.Println(now.Unix())
	fmt.Println(now.UnixMilli())
	fmt.Println(now.UnixNano())

	// သင့်အနေနဲ့ epoch ကနေစပြီး ကြာခဲ့တဲ့ စက္ကန့် သို့မဟုတ် နာနိုစက္ကန့် integer တွေကို
	// သက်ဆိုင်ရာ `time` အဖြစ် ပြောင်းလဲနိုင်ပါတယ်။
	fmt.Println(time.Unix(now.Unix(), 0))
	fmt.Println(time.Unix(0, now.UnixNano()))
}
$ go run epoch.go 
2012-10-31 16:13:58.292387 +0000 UTC
1351700038
1351700038292
1351700038292387000
2012-10-31 16:13:58 +0000 UTC
2012-10-31 16:13:58.292387 +0000 UTC

# နောက်တစ်ဆင့်မှာတော့ အချိန်နဲ့ဆက်စပ်တဲ့ 
# နောက်ထပ်လုပ်ငန်းတစ်ခုဖြစ်တဲ့
# အချိန် parse လုပ်ခြင်းနဲ့ format 
# လုပ်ခြင်းကို ကြည့်ကြပါမယ်။