English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang 基礎チュートリアル

Golang 控制文

Golang ファンクション & メソッド

Golang 構造体

Golang スライス & 配列

Golang 文字列(String)

Golang 指针

Golang インターフェース

Golang 并行

Golang 異常(Error)

Golang その他の雑項

Go 言語のTime(日付と時間)

Goは時間操作に非常に良いサポートがあります。Unixエポック時間が時間操作の参照として使用されます。

timeパッケージで提供されるDateメソッドを使用して時間オブジェクトを構築できます。このパッケージにはyear()、month()、day()、location()などのメソッドが含まれています。

これらのメソッドを呼び出すために時間オブジェクトを使用します。

Go 時間の例

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 で終了しました

Go 時間の例2

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 前日