网站首页 > java教程 正文
一、简介
这里介绍go中关于时间的常用操作。具体包括时间的获取、输出、转换、加减、比较等操作。 官网地址为:https://golang.org/pkg/time/
二、使用
2.1 时间各字段输出
package main
import (
"fmt"
"time"
)
func main() {
//当前时间
now := time.Now()
fmt.Println(now)
//时间戳,单位秒
seconds_stamp := now.Unix()
fmt.Println(seconds_stamp)
//时间戳,单位纳秒 1秒=1e3毫秒=1e9纳秒
fmt.Println(now.UnixNano())
//时间戳,单位毫秒
fmt.Println(now.UnixNano() / 1e6)
//只输出年,其他字段类似
fmt.Println(now.Year())
//只输出月
fmt.Println(now.Month())
//只输出天
fmt.Println(now.Day())
//只输小时
fmt.Println(now.Hour())
//一年的第几天
fmt.Println(now.YearDay())
//年月日
fmt.Println(now.Date())
//时分秒
fmt.Println(now.Clock())
}
2.2 时间与字符串、时间戳转换
package main
import (
"fmt"
"time"
)
func main() {
//当前时间
now := time.Now()
//时间转时间戳,单位秒
seconds_stamp := now.Unix()
//时间转字符串,时间格式化,模板为2006-01-02 15:04:05,区别为java中yyyy-MM-dd HH:mm:ss
//解析在方法time.format.nextStdChunk(),用上符号表示年月日等,是因为各字段是互斥的,具体可以看源码
fmt.Println(now.Format("2006-01-02 15:04:05")) //2019-07-17 18:43:16
//时间戳转时间
fmt.Println(time.Unix(seconds_stamp, 0))
//字符串转时间
fmt.Println(time.Parse("2006-01-02 15:04:05", "2019-07-01 08:18:18"))
}
2.3 时间加减即时间段操作
package main
import (
"fmt"
"time"
)
func main() {
//当前时间
now := time.Now()
//自定义时间段
timeDur := time.Duration(10)*time.Second + time.Duration(1)*time.Minute
fmt.Println(timeDur)
//时间相加
nowAddTime := now.Add(timeDur)
fmt.Println(nowAddTime)
//时间相减,时间差(时间段)
diff := nowAddTime.Sub(now)
fmt.Println(diff) //1m10s
fmt.Println(diff.Hours()) //分为单位显示时间差,0.019444444444444445
fmt.Println(diff.Minutes()) //分为单位显示时间差,1.1666666666666667
fmt.Println(diff.Seconds()) //秒为单位显示时间差,70
//年月日添加
fmt.Println(nowAddTime.AddDate(1,-9,3)) //2019-10-20 18:55:56.654503204 +0800 CS
}
2.4 时间比较
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
timeDur := time.Duration(10)*time.Second + time.Duration(1)*time.Minute
nowAddTime := now.Add(timeDur)
//时间比较
//时间之前比较
fmt.Println(nowAddTime.After(now)) //true
//时间之后比较
fmt.Println(nowAddTime.Before(now)) //false
//时间相等比较
fmt.Println(now.Equal(now)) //true
}
2.5 休眠
package main
import (
"fmt"
"time"
)
func main() {
//休眠1秒
time.Sleep(time.Second*1)
}
猜你喜欢
- 2024-12-03 大数据_Flink_Java版_数据处理_时间语义(3)_事件时间语义的设置
- 2024-12-03 python日期时间(气象)处理方法(1)
- 2024-12-03 SpringBoot 实现对上传的图片添加时间戳、上传信息等内容?
- 2024-12-03 Element 中的组件 DatePicker 传递后台的时间格式为UTC时区
- 2024-12-03 一个时间戳精度问题,引发了一个MySQL血案
- 2024-12-03 JAVA与PHP语言时间戳的转换问题
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)