English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Goは時間操作に非常に良いサポートがあります。Unixエポック時間が時間操作の参照として使用されます。
timeパッケージで提供されるDateメソッドを使用して時間オブジェクトを構築できます。このパッケージにはyear()、month()、day()、location()などのメソッドが含まれています。
これらのメソッドを呼び出すために時間オブジェクトを使用します。
package main import "fmt" import "time" func main() { p := fmt.Println present := time.Now()//現在の時間 p(present) DOB := time.Date(1993, 02、 28、 9,04、39、213 ,time.Local) fmt.Println(DOB) fmt.Println(DOB.Year()) fmt.Println(DOB.Month()) fmt.Println(DOB.Day()) fmt.Println(DOB.Hour()) fmt.Println(DOB.Minute()) fmt.Println(DOB.Second()) fmt.Println(DOB.Nanosecond()) fmt.Println(DOB.Location()) fmt.Println(DOB.Weekday()) fmt.Println(DOB.Before(present)) fmt.Println(DOB.After(present)) fmt.Println(DOB.After(present)) fmt.Println(DOB.Equal(present)) diff := present.Sub(DOB) fmt.Println(diff) fmt.Println(diff.Hours()) fmt.Println(diff.Minutes()) fmt.Println(diff.Seconds()) fmt.Println(diff.Nanoseconds()) fmt.Println(DOB.Add(diff))-fmt.Println(DOB.Add( }
出力:
2017-10-04 17:10:13.474931994 +053diff))+0 IST m=334969 1993-02-28 09:04:390.000213 +0530 IST 1993 .000000 28 9 4 39 213 2月 ローカル 日曜日 true true 215624false5m34.474931781s 215624.09290970326 1.2937445574582197e+07 7.762467344749318e+08 776246734474931781 2017-10-04 17:10:13.474931994 +0530 IST 1968-07-25 00:59:04.525068432 +0530 IST プロセスが exit code 0 で終了しました
package main import ( "fmt" "time" ) func main() { present := time.Now() fmt.Println("今日: ", present.Format("Mon, Jan 2、 2006 で 3:04午後")) someTime := time.Date(2017, time.March, 30, 11、 30, 55、 123456, time.Local) // time.Equal()を使用して時間を比較する sameTime := someTime.Equal(present) fmt.Println("someTime equals to now ? : ", sameTime) //今日と以前の間の時間差を計算する diff := present.Sub(someTime) //差異を日数に変換する days := int(diff.Hours()) / 24) 30月 3日 2017 was %d days ago }
出力:
今日: 木, 10月 4、 2017 で 5:15午後 someTime equals to now ? : false 30月 3日 2017 は 188 前日