golang 时间加减

Steven_25bb · · 3638 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

time包中的Add和Sub的用法,Add用于计算某个时间之前和之后的时间点,Sub用于计算两个时间差

      package main
 
import (
    "fmt"
    "strings"
    "time"
)
 
func main() {
    // Add 时间相加
    now := time.Now()
    // ParseDuration parses a duration string.
    // A duration string is a possibly signed sequence of decimal numbers,
    // each with optional fraction and a unit suffix,
    // such as "300ms", "-1.5h" or "2h45m".
    //  Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
   
 // 10分钟前
    m, _ := time.ParseDuration("-1m")
    m1 := now.Add(m)
    fmt.Println(m1)
 

    // 8个小时前
    h, _ := time.ParseDuration("-1h")
    h1 := now.Add(8 * h)
    fmt.Println(h1)
 

    // 一天前
    d, _ := time.ParseDuration("-24h")
    d1 := now.Add(d)
    fmt.Println(d1)
 
    printSplit(50)
 

    // 10分钟后
    mm, _ := time.ParseDuration("1m")
    mm1 := now.Add(mm)
    fmt.Println(mm1)
 

    // 8小时后
    hh, _ := time.ParseDuration("1h")
    hh1 := now.Add(hh)
    fmt.Println(hh1)
 
 
   // 一天后
    dd, _ := time.ParseDuration("24h")
    dd1 := now.Add(dd)
    fmt.Println(dd1)
 
    printSplit(50)
 

    // Sub 计算两个时间差
    subM := now.Sub(m1)
    fmt.Println(subM.Minutes(), "分钟")
 
    sumH := now.Sub(h1)
    fmt.Println(sumH.Hours(), "小时")
 
    sumD := now.Sub(d1)
    fmt.Printf("%v 天\n", sumD.Hours()/24)
 
}
 
func printSplit(count int) {
    fmt.Println(strings.Repeat("#", count))
}

注意:原文


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:Steven_25bb

查看原文:golang 时间加减

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3638 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传