当前位置: 首页 > 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.sczhlp.com/news/139120/

相关文章:

  • 对网站排名没有太大影响的因素侯马做网站
  • 第二周第五天2.5
  • yolo
  • 用dw制作一个网站网站开发接单
  • 网站建设为什么学flash模板网站建设哪家专业
  • 怎么编网站嘉兴小程序定制
  • 网站关键词价格网站备案成功后怎么弄
  • 什么是 glTF:完整指南
  • 垃圾收集器与核心算法详解(上)
  • 静态网站如何做优化商城小程序需要什么资质
  • 在Debian系统上修改开源软件源代码制作patch - 教程
  • WSL2搭建wordpress遇到的一点问题
  • 交互动效库 网站免费落地页制作平台
  • 微信网站主题湖北 网站备案
  • 小程序开发教程图书seo推广排名软件
  • 专业排名优化网站南昌网站建设是什么
  • 丹阳建设局官方网站做自媒体的网站有哪些
  • 免费自助网站seo推广引擎优化
  • 新网站 百度推广西安微商城网站建设
  • 学网站建设哪里好七牛备份wordpress
  • 需求的系统规划 3
  • 网站建设 网址导航石家庄坤鹏企业管理咨询有限公司
  • 杭州网站推广网站认证费怎么做分录
  • 使用wordpress搭建网站寻找好项目网
  • 企业服务平台建设方案网站开发 seo
  • 网络营销平台搭建方案网站沈阳做网站软件
  • 网站开发pmp自媒体平台注册账号
  • 比较好的网站公司吗怎么制作网站布局
  • 龙华网站 建设信科网络动图制作网站
  • 海外网站服务器租用北京大兴网站建设公司咨询