跳至主要内容

golang time


t, err := time.Parse(time.RFC3339, "2017-07-05T14:17:10+08:00")


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))
}

评论

此博客中的热门博文

onsen ui example splitter side menu swipe

<!DOCTYPE html> <html> <head> <title>TheyTube - Watch free video online</title> <link rel="stylesheet" href="https://unpkg.com/onsenui/css/onsenui.css"> <link rel="stylesheet" href="https://unpkg.com/onsenui/css/onsen-css-components.min.css">   <script src="https://unpkg.com/onsenui/js/onsenui.min.js"></script>   <script type="text/javascript">   ons.platform.select('android')   </script> </head> <body> <ons-splitter>   <ons-splitter-side id="menu" side="left" width="220px" collapse swipeable>     <ons-page>       <ons-list>         <ons-list-item onclick="fn.load('home.html')" tappable>           Home         </ons-list-item>         <ons-list-item onclick="fn.load('settings.html')" tappable>           Setti

go golang get disk usage free space remain info

package main import ( "fmt" "syscall" ) func main() { fmt.Println(DiskUsage("./")) } func DiskUsage(path string) uint64 { fs := syscall.Statfs_t{} err := syscall.Statfs(path, &fs) if err != nil { return 0 } return fs.Bfree * uint64(fs.Bsize) } //All space   = fs.Blocks * uint64(fs.Bsize) //Free space = fs.Bfree * uint64(fs.Bsize) //Used space= fs.All - disk.Free