阅读 153

Go 语言 Time(日期时间)

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

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

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

Go 时间示例

示例

package mainimport "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.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(-diff))
}

输出:

2017-10-04 17:10:13.474931994 +0530 IST m=+0.0003349691993-02-28 09:04:39.000000213 +0530 IST1993February289439213LocalSundaytruefalsefalse215624h5m34.474931781s215624.092909703261.2937445574582197e+077.762467344749318e+087762467344749317812017-10-04 17:10:13.474931994 +0530 IST1968-07-25 00:59:04.525068432 +0530 ISTProcess finished with exit code 0

Go 时间示例2

示例

package mainimport (
	"fmt"
	"time"
)func main() {	present := time.Now()
	fmt.Println("Today : ", present.Format("Mon, Jan 2, 2006 at 3:04pm"))
	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)
	fmt.Printf("30th March 2017 was %d days ago \n", days)
}

输出:

Today :  Wed, Oct 4, 2017 at 5:15pmsomeTime equals to now ? :  false30th March 2017 was 188 days ago


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐