时间日期函数来自于time包
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now() //time.Now() 获取当前日期
fmt.Println(now)
}
返回
2021-11-18 11:05:28.0030785 +0800 CST m=+0.004948001
package main
import (
"fmt"
"time"
)
func main() {
// 获取当前日期
now := time.Now()
fmt.Println(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()) //秒
}
返回
2021-11-18 11:06:59.6157726 +0800 CST m=+0.004575801
年=2021
月=11
日=18
时=11
分=6
秒=59
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now() // 获取当前日期
fmt.Printf("当前年月日 %d-%d-%d %d:%d:%d \n",now.Year(),
now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second())
//可用使用Printf 格式化输出
//也可以通过SPrintf将值接收,赋值给一个变量
dateStr := fmt.Sprintf("当前年月日 %d-%d-%d %d:%d:%d \n",now.Year(),
now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second())
fmt.Println(dateStr)
}
返回
当前年月日 2021-11-18 11:9:39
当前年月日 2021-11-18 11:9:39
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
//固定语法,now.Format("2006/01/02 15:04:05")
//这个时间是固定的,然后会输出当前时间
fmt.Println(now.Format("2006/01/02 15:04:05"))
//如果只需要部分的值,那么就去除不想要的部分,如下
fmt.Println(now.Format("2006/01/02"))
}
返回
2021/11/18 11:12:29
2021/11/18
package main
const(
Nanosecond = 1 //纳秒
Microsecond = 1000 * Nanosecond //微秒
Millisecond = 1000 * Microsecond //毫秒
Second = 1000 * Millisecond //秒
Minute = 60 * Second //分钟
Hour = 60 * Minute //小时
)
func main() {
//比如我想得到100毫秒
//time.Millisecond * 100
}
要求每隔1秒打印一个数字,打印到100时退出
package main
import (
"fmt"
"time"
)
func main() {
i := 0
for {
i++
fmt.Println(i)
time.Sleep(time.Second) // 1-100 每输出一次,休眠1秒
if i == 100{
break
}
}
}
修改时间,改为0.1秒输出一次
package main
import (
"fmt"
"time"
)
func main() {
i := 0
for {
i++
fmt.Println(i)
//改为0.1s输出,1s等于1000毫秒
//那就是1毫秒*100
//Millisecond * 100
time.Sleep(time.Millisecond * 100)
if i == 100{
break
}
}
}
unix 时间戳 从1970年到现在有多少秒
unixnano 纳秒时间戳 从1970年到现在有多少纳秒
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
fmt.Printf("unix时间戳=%v\nunixnano时间戳=%v", now.Unix(),now.UnixNano())
}
返回
unix时间戳=1637206130
unixnano时间戳=1637206130280651300