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

Golang 基础教程

Golang 控制语句

Golang 函数 & 方法

Golang 结构体

Golang 切片 & 数组

Golang 字符串(String)

Golang 指针

Golang 接口

Golang 并发

Golang 异常(Error)

Golang 其他杂项

Data e Hora (Time) do Linguagem Go

Go对时间操作有很好的支持。Unix纪元时间用作时间操作的参考。

我们可以使用time包中提供的Date方法来构建时间对象。该包包含诸如year(),month(),day(),location()等方法。

我们通过使用时间对象来调用这些方法。

Exemplo de tempo 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(
}

Saída:

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
Local
Domingo
true
false
false
215624h5m34.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
Processo finalizado com código de saída 0

Exemplo de tempo Go2

package main
import (
	"fmt"
	"time"
)
func main() {
	present := time.Now()
	fmt.Println("Hoje : ", present.Format("Seg, Jan 2, 2006 em 3:04p.m."))
	algumTempo := time.Date(2017, time.March, 30 11, 30 55, 123456, time.Local)
	// Usar time.Equal() para comparar tempos
	sameTime := algumTempo.Equal(present)
	fmt.Println("algumTempo é igual a agora ? : ", sameTime)
	//Calcular a diferença de tempo entre hoje e antes
	diff := present.Sub(algumTempo)
	//Converter a diferença para dias
	dias := int(diff.Hours()) / 24)
	fmt.Printf("30 de março 2017 era %d dias atrás \n", dias)
}

Saída:

Hoje : Qua, Out 4, 2017 em 5:15p.m.
algumTempo é igual a agora ? : false
30 de março 2017 era 188 há dias