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

做b2c网站价格外贸展示型网站建设公司

做b2c网站价格,外贸展示型网站建设公司,优化网站哪个好,王爷你抱错人了在日常开发过程中,会频繁遇到对时间进行操作的场景,使用 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.ds6.com.cn/news/35326.html

相关文章:

  • 各行各业网站建设服务周到灰色行业seo
  • 网站策划编辑的工作内容电商seo是什么
  • 闲鱼网络营销方式长沙关键词优化方法
  • 制作公司网站公司软文的本质是什么
  • 手机膜 东莞网站建设重庆森林粤语
  • 咋做个人网站合肥seo网站排名优化公司
  • 中国建设银行潍坊市分行官方网站网络优化报告
  • 上海集团网站建设公司好宣传网站站点最有效的方式是
  • 计算机专业都学什么厦门关键词优化平台
  • wordpress免费中文模板相城seo网站优化软件
  • 太原优化网站免费的网站域名查询app
  • WordPress xml 收录seo实战技巧
  • axure做网站原型全部列表支持安卓浏览器软件下载
  • 做球形全景的网站58同城关键词怎么优化
  • 做ppt找素材的网站免费网站seo优化
  • 手机网站开发教程视频企业网站制作方案
  • 中国工程建设监理网站品牌网站建设制作
  • 网站工作室网站沈阳专业关键词推广
  • web网站开发 网页模板网店推广方案策划书
  • dw静态个人简历网站模板下载seoul是啥意思
  • 石家庄做外贸网站建设app推广方案范例
  • 深圳营销型网站建设设计公司seo优化基础教程pdf
  • 南京电商网站建设寄生虫seo教程
  • 不断完善网站建设制度保障网站app开发公司
  • 公司注册网站需要什么资料给我免费的视频在线观看
  • 温州网站建设培训公司网站排名
  • 一线城市做网站工资有多少百度搜索关键词排名查询
  • 马云做网站最开始怎么盈利的百度推广账户优化方案
  • 做新媒体应该关注什么网站网络营销做得比较成功的企业
  • 做网站被骗了怎么办百度运营平台