golang time and duration

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

package main

import "fmt"
import "time"

func main() {
    p := fmt.Println
    // We'll start by getting the current time.
    now := time.Now()
    p("time.Now(): ", now)
    // You can build a "time" struct by providing the
    // year, month, day, etc. Times are always associated
    // with a "Location", i.e. time zone.
    then := time.Date(2009, 11, 17, 20, 34, 58, 651387237, time.UTC)
    p("time.Date(): ", then)
    p("==================================")
    // You can extract the various components of the time
    // value as expected.
    p("time.Date().Year(): ", then.Year())
    p("time.Date().Month(): ", then.Month())
    p("time.Date().Day(): ", then.Day())
    p("time.Date().Hour(): ", then.Hour())
    p("time.Date().Minute(): ", then.Minute())
    p("time.Date().Second(): ", then.Second())
    p("time.Date().Nanosecond(): ", then.Nanosecond())
    p("time.Date().Location(): ", then.Location())
    // The Monday-Sunday "Weekday" is also available.
    p("time.Date().Weekday(): ", then.Weekday())
    p("==================================")
    // These methods compare two times, testing if the
    // first occurs before, after, or at the same time
    // as the second, respectively.
    p("time.Date().Before(now): ", then.Before(now))
    p("time.Date().After(now): ", then.After(now))
    p("time.Date().Equal(now): ", then.Equal(now))
    p("==================================")
    // The "Sub" methods returns a "Duration" representing
    // the interval between two times.
    diff := now.Sub(then)
    p("time.Now().Sub(time.Date()): ", diff)
    p("==================================")
    // We can compute the length of the duration in
    // various units.
    p("time.Date().Sub(then).Hours(): ", diff.Hours())
    p("time.Date().Sub(then).Minutes(): ", diff.Minutes())
    p("time.Date().Sub(then).Seconds(): ", diff.Seconds())
    p("time.Date().Sub(then).Nanoseconds(): ", diff.Nanoseconds())
    p("==================================")
    // You can use "Add" to advance a time by a given
    // duration, or with a "-" to move backwards by a
    // duration.
    p("time.Date().Sub(now).Add(now.Sub(then)): ", now.Add(diff))
    p("time.Date().Sub(then).Add(-(now.Sub(then))): ", then.Add(-diff))
}

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

本文来自:博客园

感谢作者:bnbqian

查看原文:golang time and duration

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

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