当前位置: 首页 > news >正文

安徽城乡建设厅网站哈尔滨网络优化公司有哪些

安徽城乡建设厅网站,哈尔滨网络优化公司有哪些,网络建设包括哪些内容,企业网站开发目的和意义在日常开发过程中,会频繁遇到对时间进行操作的场景,使用 Golang 中的 time 包可以很方便地实现对时间的相关操作。接下来的几篇文章会详细讲解 time 包,本文讲解一下 time 包中的 time.Duration 类型。 time.Duration time.Duration 类型是…

在日常开发过程中,会频繁遇到对时间进行操作的场景,使用 Golang 中的 time 包可以很方便地实现对时间的相关操作。接下来的几篇文章会详细讲解 time 包,本文讲解一下 time 包中的 time.Duration 类型。

time.Duration

time.Duration 类型是一个有符号的 int64 类型,以纳秒为单位,用来表示两个时间点之间的时长。类型定义如下:

type Duration int64

拥有的方法如下:

  • func (d Duration) Hours() float64,返回持续的时间,以小时为单位。
  • func (d Duration) Minutes() float64,返回持续的时间,以分钟为单位。
  • func (d Duration) Seconds() float64,返回持续的时间,以秒为单位。
  • func (d Duration) Milliseconds() int64,返回持续的时间,以毫秒为单位。
  • func (d Duration) Microseconds() int64,返回持续的时间,以微秒为单位。
  • func (d Duration) Nanoseconds() int64,返回持续的时间,以纳秒为单位。
  • func (d Duration) String() string,返回一个字符串类型的持续的时间,格式为 “72h3m0.5s”。示例如下:
package mainimport ("fmt""time"
)func main() {a := time.Duration(3) * time.Hourfmt.Println(a.Hours())        // 3fmt.Println(a.Minutes())      // 180fmt.Println(a.Seconds())      //10800fmt.Println(a.Milliseconds()) //10800000fmt.Println(a.Microseconds()) //10800000000fmt.Println(a.Nanoseconds())  //10800000000000fmt.Println(a.String())       //3h0m0s
}
  • func (d Duration) Round(m Duration) Duration,返回将 d 四舍五入到 m 的最接近倍数的结果。通过示例理解一下:
package mainimport ("fmt""time"
)func main() {a := time.Duration(10) * time.Minute// 结果为 10,10 正好是 1 的整数倍fmt.Println(a.Round(time.Duration(1) * time.Minute))// 结果为 9,3 的 3 倍是 9,3 的 4 倍是 12,9 和 10 离得更近fmt.Println(a.Round(time.Duration(3) * time.Minute))// 结果为 12,4 的 2 倍是 8,4 的 3 倍是 12,距离一样近往上入fmt.Println(a.Round(time.Duration(4) * time.Minute))// 结果为 10,10 正好是 5 的整数倍fmt.Println(a.Round(time.Duration(5) * time.Minute))// 结果为12, 6 的 1 倍是 6,6 的 2 倍是 12,10 离 12 更近fmt.Println(a.Round(time.Duration(6) * time.Minute))
}
  • func (d Duration) Truncate(m Duration) Duration,用于将 d 截断到 m 最近整数倍。通过示例理解一下:
package mainimport ("fmt""time"
)func main() {a := time.Duration(10) * time.Minute// 结果为 10,10 正好是 1 的整数倍fmt.Println(a.Truncate(time.Duration(1) * time.Minute))// 结果为 9,3 的 3 倍是 9,最接近 10fmt.Println(a.Truncate(time.Duration(3) * time.Minute))// 结果为 8,4 的 2 倍是 8,最接近 10fmt.Println(a.Truncate(time.Duration(4) * time.Minute))// 结果为 10,10 正好是 5 的整数倍fmt.Println(a.Truncate(time.Duration(5) * time.Minute))// 结果为 6,6 的 1 倍是 6,最接近 10fmt.Println(a.Truncate(time.Duration(6) * time.Minute))// 结果为 0,11 的 1 倍是11,大于了 10fmt.Println(a.Truncate(time.Duration(11) * time.Minute))
}

加减法运算

因为 time.Duration 表示的是时间段,可以对 time.Duration 类型的值进行加减法运算,例如:

package mainimport ("fmt""time"
)func main() {a := time.Duration(10) * time.Minuteb := time.Duration(10) * time.Secondfmt.Println(a + b)fmt.Println(a - b)
}

http://www.dt0577.cn/news/32420.html

相关文章:

  • 编程如何自学搜索引擎优化是什么
  • 网站建设美化中期报告百度网盘网页版登录
  • 怎么建立微网站?2024年新闻时事热点论文
  • 济南优化网站软件开发工具
  • 做外贸有什么免费网站蓝牙耳机网络营销推广方案
  • 做暧昧的小视频网站2培训机构哪家好
  • 怎样讲卖灯的网站做的好更厉害的病毒2024
  • 上饶做网站公司站长资源平台
  • 宁波妇科最有名的医院seo渠道是什么意思
  • 做优化b2b网站广告公司推广方案
  • 中国矿山建设网站傻瓜式自助建站系统
  • b s网站系统如何做性能测试搜索seo是什么意思
  • 郑州直播网站建设免费收录链接网
  • 网站开发的一般步骤安卓aso优化
  • 网站首页广告图片伸缩代码又关闭seo快速排名优化
  • 网站设计登录界面怎么做爱论坛
  • 烟台建设网站阿里巴巴官网首页
  • 灵璧做网站的公司广州市网络seo外包
  • 苏州制作网站的公司免费做网站网站的软件
  • 创建交友网站温州云优化seo
  • 个人做网站租云服务器朋友圈产品推广文案
  • 有没有什么做统计的网站百度收录入口提交
  • java php 做网站50篇经典软文100字
  • 加载其他网站图片seo交换链接营销的典型案例
  • 网站编辑超链接怎么做超级外链工具 增加外链中
  • 龙岗这边哪里有教做网站的b站视频推广网站
  • 北京网站制作公司清远深圳疫情最新情况
  • 今天大连最新通告太原seo推广外包
  • 手机网站建设知识百度官网入口链接
  • 网站开发需要哪些东西凤凰军事新闻最新消息