go 时间和日期常用函数

package main

import (
	"fmt"
	"strconv"
	"time"
)

func main() {
	// 获取当前时间
	now := time.Now()
	fmt.Println(time.Now())

	// 通过now获取年月日,分时秒
	fmt.Printf("年:%v\n", now.Year())
	fmt.Printf("月:%v\n", int(now.Month()))
	fmt.Printf("日:%v\n", now.Day())
	fmt.Printf("时:%v\n", now.Hour())
	fmt.Printf("分:%v\n", now.Minute())
	fmt.Printf("秒:%v\n", now.Second())

	// 格式化时间第一种方式
	fmt.Printf("%d-%d-%d %d:%d:%d\n", now.Year(),
		now.Month(), now.Day(), now.Hour(),
		now.Minute(), now.Second())

	// 格式化时间第二种方式
	fmt.Println(now.Format("2006-01-02 15:04:05"))
	fmt.Println(now.Format("2006-01-02")) //日期
	fmt.Println(now.Format("15:04:05"))

	// 时间常量
	// const (
	// 	Nanosecond  Duration = 1                  //纳秒
	// 	Microsecond          = 1000 * Nanosecond  //微妙
	// 	Millisecond          = 1000 * Microsecond //毫秒
	// 	Second               = 1000 * Millisecond //秒
	// 	Minute               = 60 * Second        //分
	// 	Hour                 = 60 * Minute        //时
	// )

	// time的Unix和UnixNano的方法
	// 1970到现在经历了多少秒(秒时间戳)
	fmt.Println(now.Unix())

	// 1970年到现在经历了多少纳秒(纳秒时间戳)
	fmt.Println(now.UnixNano())

	// 计算代码执行时间(必须time.Now().Unix  如果将time.Now()实例化则开始时间和结束时间一致)
	startime := time.Now().Unix()
	fmt.Println(startime)
	func() {
		str := ""
		for i := 0; i < 100000; i++ {
			str += "hello" + strconv.Itoa(i)
		}
	}()
	stoptime := time.Now().Unix()
	fmt.Println(stoptime)
	fmt.Println("函数执行时间为:", int(stoptime-startime))

}

  

posted @ 2020-04-23 14:31  枯藤老艹树  阅读(626)  评论(0)    收藏  举报