首先先贴一下免翻墙的go语言文档:
中文文档:http://studygolang.com/pkgdoc
英文文档:http://docs.studygolang.com/pkg/
下边为使用例子:
package main import ( "fmt" "time" ) func main() { fmt.Printf("当前年份:%d\n", time.Now().Year()) fmt.Printf("当前月份:%d\n", time.Now().Month()) fmt.Printf("当前日子:%d\n", time.Now().Day()) fmt.Printf("当前小时:%d\n", time.Now().Hour()) fmt.Printf("当前分钟:%d\n", time.Now().Minute()) fmt.Printf("当前秒:%d\n", time.Now().Second()) now := time.Now() //当前时间的时间戳 fmt.Printf("当前时间戳:%d\n", now.Unix()) //日期格式化 //YYYY (4位数表示完整年份) fmt.Printf("当前的4位数年份为:%s\n", now.Format("2006")) //yy (2位数表示的年份) fmt.Printf("当前的2位数年份为:%s\n", now.Format("06")) year, _, _ := time.Now().Date() fmt.Printf("当前年份为:%d\n", year) //mm 有前导零的月份 fmt.Printf("当前月份:%s月\n", now.Format("01")) //n 没有前导零的月份 fmt.Printf("当前月份:%s月\n", now.Format("1")) _, month, _ := time.Now().Date() fmt.Printf("当前月份:%d月\n", month) fmt.Printf("当前月份:%s\n", month) //dd 月份中的第几天,有前导零的 2 位数字 fmt.Printf("当前日期:%s日\n", now.Format("02")) //j 月份中的第几天,没有前导零 fmt.Printf("当前日期:%s日\n", now.Format("2")) _, _, day := time.Now().Date() fmt.Printf("当前月份:%d日\n", day) //D 星期中的第几天,文本表示,3个字母 fmt.Printf("当前时间:%s\n", now.Format("Mon")) //l 星期几,完整的文本格式 fmt.Printf("当前时间:%s\n", now.Format("Monday")) //功能同上 fmt.Printf("当前时间:%s\n", now.Weekday().String()) //HH (24小时制) fmt.Printf("当前时间:%s时\n", now.Format("15")) //hh (12小时制,有前导零) fmt.Printf("当前时间:%s时\n", now.Format("03")) //g (12小时制,没有前导零) fmt.Printf("当前时间:%s时\n", now.Format("3")) fmt.Printf("当前时间:%d时\n", now.Hour()) hour, _, _ := now.Clock() fmt.Printf("当前时间:%d时\n", hour) //ii (有前导零的分钟数) fmt.Printf("当前时间:%s分\n", now.Format("04")) // (没有前导零的分钟数) fmt.Printf("当前时间:%s分\n", now.Format("4")) fmt.Printf("当前时间:%d分\n", now.Minute()) _, minute, _ := now.Clock() fmt.Printf("当前时间:%d分\n", minute) //ss (有前导零的秒数) fmt.Printf("当前时间:%s秒\n", now.Format("05")) // (没有前导零的秒数) fmt.Printf("当前时间:%s秒\n", now.Format("5")) fmt.Printf("当前时间:%d秒\n", now.Second()) _, _, sec := now.Clock() fmt.Printf("当前时间:%d秒\n", sec) //YYYY-mm-dd HH:ii:ss fmt.Printf("当前时间:%s\n", now.Format("2006-01-02 15:04:05")) //YYYY/mm/dd HH:ii:ss fmt.Printf("当前时间:%s\n", now.Format("2006/01/02 15:04:05")) //获取指定日期的时间戳 date := time.Date(2015, 04, 01, 13, 11, 11, 0, time.Local) fmt.Printf("%s的日期的时间戳:%d\n", date.Format("2006-01-02 15:04:05"), date.Unix()) //指定时区 prc := time.FixedZone("PRC", 8*3600) //注意第二个参数(基于UTC的秒数,8*3600为东八区) date1 := time.Date(2015, 04, 01, 13, 11, 11, 0, prc) fmt.Printf("%s的日期的时间戳:%d\n", date1.Format("2006-01-02 15:04:05"), date1.Unix()) newDate := date.Add(2 * time.Second) fmt.Printf("%s两秒后的时间是:%s\n", date.Format("2006-01-02 15:04:05"), newDate.Format("2006-01-02 15:04:05")) newDate = date.Add(-2 * time.Second) fmt.Printf("%s两秒前的时间是:%s\n", date.Format("2006-01-02 15:04:05"), newDate.Format("2006-01-02 15:04:05")) newDate = date.Add(-2 * time.Minute * 60 * 24) fmt.Printf("%s两天前的时间是:%s\n", date.Format("2006-01-02 15:04:05"), newDate.Format("2006-01-02 00:00:00")) newDate = date.AddDate(0, 0, -2) fmt.Printf("%s两天前的时间是:%s\n", date.Format("2006-01-02 15:04:05"), newDate.Format("2006-01-02 00:00:00")) //2015-04-01 13:11:11 到现在经过的秒数 fmt.Println(time.Now().Sub(date).Seconds()) fmt.Println(time.Since(date).Seconds()) if !time.Now().Before(date) { fmt.Printf("%s 小于当前时间\n", date.Format("2006-01-02 15:04:05")) } if time.Now().After(date) { fmt.Printf("%s 小于当前时间\n", date.Format("2006-01-02 15:04:05")) } if !time.Now().Equal(date) { fmt.Printf("%s 不等于当前时间\n", date.Format("2006-01-02 15:04:05")) } fmt.Printf("今天是当年第%d天\n", now.YearDay()) fmt.Printf("今天是当月第%d日\n", now.Day()) //休眠3秒 time.Sleep(3 * time.Second) }
以上代码可以直接编译运行,注意time包的Format方法的参数
时间: 2024-11-02 21:12:48