Go က အချိန်နဲ့ ကြာချိန်တွေအတွက် ကျယ်ပြန့်တဲ့ ထောက်ပံ့မှုပေးပါတယ်။
ဒီမှာ ဥပမာတချို့ ရှိပါတယ်။
|
|
|
package main
|
|
import (
"fmt"
"time"
)
|
|
func main() {
p := fmt.Println
|
လက်ရှိအချိန်ကို ရယူခြင်းဖြင့် စတင်ပါမယ်။
|
now := time.Now()
p(now)
|
နှစ်၊ လ၊ ရက် စသည်တို့ကို ပေးပြီး time struct တစ်ခု တည်ဆောက်နိုင်ပါတယ်။
အချိန်တွေက အမြဲတမ်း Location (ဆိုလိုသည်မှာ time zone) နဲ့ ဆက်စပ်နေပါတယ်။
|
then := time.Date(
2009, 11, 17, 20, 34, 58, 651387237, time.UTC)
p(then)
|
အချိန်တန်ဖိုးရဲ့ အစိတ်အပိုင်းအမျိုးမျိုးကို မျှော်လင့်ထားသလို ဆွဲထုတ်နိုင်ပါတယ်။
|
p(then.Year())
p(then.Month())
p(then.Day())
p(then.Hour())
p(then.Minute())
p(then.Second())
p(then.Nanosecond())
p(then.Location())
|
တနင်္လာနေ့ကနေ တနင်္ဂနွေနေ့အထိ Weekday လည်း ရနိုင်ပါတယ်။
|
p(then.Weekday())
|
ဒီ method တွေက အချိန်နှစ်ခုကို နှိုင်းယှဉ်ပြီး ပထမတစ်ခုက ဒုတိယတစ်ခုရဲ့
အရှေ့၊ နောက်၊ သို့မဟုတ် တူညီတဲ့အချိန်မှာ ဖြစ်မဖြစ် အသီးသီး စစ်ဆေးပါတယ်။
|
p(then.Before(now))
p(then.After(now))
p(then.Equal(now))
|
Sub method က အချိန်နှစ်ခုကြားက ကြားကာလကို ကိုယ်စားပြုတဲ့ Duration တစ်ခု ပြန်ပေးပါတယ်။
|
diff := now.Sub(then)
p(diff)
|
ကြာချိန်ရဲ့ အရှည်ကို အမျိုးမျိုးသော unit တွေနဲ့ တွက်ချက်နိုင်ပါတယ်။
|
p(diff.Hours())
p(diff.Minutes())
p(diff.Seconds())
p(diff.Nanoseconds())
|
ပေးထားတဲ့ ကြာချိန်တစ်ခုဖြင့် အချိန်တစ်ခုကို ရှေ့တိုးဖို့ Add ကို သုံးနိုင်ပါတယ်။
သို့မဟုတ် - နဲ့တွဲသုံးပြီး ကြာချိန်တစ်ခုဖြင့် နောက်ပြန်ဆုတ်နိုင်ပါတယ်။
|
p(then.Add(diff))
p(then.Add(-diff))
}
|