- 时间和日期相关得函数,需要导入time包
time包提供了时间和日期显示的相关函数,日历的计算采用的时公历 - time.Time(),用于表示时间
func main(){
now:=tome.Now() //获取当前时间
fmt.Printf("now=%v now_type=%T",now,now)
}
结果
3. 获取其它的日期信息
package main
import ("fmt"
"time"
)
func main(){
now:=time.Now() //获取当前时间
fmt.Printf("now=%v now_type=%T\n",now,now)
//通过now获取年月日时分秒
fmt.Printf("年=%v\n",now.Year())
fmt.Printf("月=%v\n",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())
}
结果
**
- 格式化日期时间
- 方法1:使用Printf或者SPrintf
package main
import ("fmt"
"time"
)
func main(){
now:=time.Now() //获取当前时间
fmt.Printf("now=%v now_type=%T\n",now,now)
//格式化日期输出
fmt.Printf("当前年月日时分秒: %d-%d-%d %d:%d:%d\n",now.Year(),
now.Month(),now.Day(),now.Hour(),now.Minute(),now.Second())
datastr := fmt.Sprintf("当前年月日时分秒: %d-%d-%d %d:%d:%d\n",now.Year(),now.Month(),now.Day(),now.Hour(),now.Minute(),now.Second())
fmt.Printf("当前时间是%v",datastr)
}
结果
- 方法2使用now.Format()
fmt.Printf(now.Format(“2006-01-02 15:04:05”))
注:1."2006-01-02 15:04:05"这个字符串是固定的,必须这样写
2.这个字符串的数字可以自由组合,按要求返回需要的日期 - 时间的常量
const{
Nanosecond Duration = 1 //毫秒
Microsecond = 1000Nanosecond Duratio //微秒
Millisecond = 1000Microsecond //毫秒
Second = 1000Millisecond //秒
Minute = 60Second //分
Hour = 60Minute //时
}
注:常量的作用:在程序里使用固定的时间单位,比如想得到100毫秒
100time.Millisecond
6.结合sleep使用时间常量
//每0.1秒打印一个数字,打印到100时退出
i:=0
for{
i++
fmt.Println(i)
time.Sleep(time.Millisecond*100)
if i==100{
break
}
}
7. time的Unix和UnixNano用法
-
func (t Time) Unix int64
返回1970年1月1日到时间的秒数 -
func (t Time) UnixNano int64
返回1970年1月1日到时间的豪秒数
调用方式:
fmt.Printf(“Unix的时间戳=%v UnixNano的时间戳=%v\n”,now.Unix(),now.UnixNano())