时间和日期是我们编程中经常用到的,本文主要介绍了Go语言内置的time包的基本用法。

  Go语言中导入包

  单行导入

  import "time"

  import "fmt"

  多行导入

  import (

  "fmt"

  "time"

  )

  time包

  time.Time类型表示时间。

  func main(){

  now := time.Now()

  fmt.Printf("current time is :%v\n",now)

  year := now.Year()

  month := now.Month()

  day := now.Day()

  hour := now.Hour()

  minute:= now.Minute()

  second := now.Second()

  fmt.Printf("%d-%02d-%02d %02d:%02d:%02d\n",year,month,day,hour,minute,second)

  }

  时间戳

  时间戳是自1970年1月1日(08:00:00GMT)至当前时间的总毫秒数。它也被为Unix时间戳。

  func timestampDemo() {

  now := time.Now() //获取当前时间

  timestamp1 := now.Unix() //时间戳

  timestamp2 := now.UnixNano() //纳秒时间戳

  fmt.Printf("current timestamp1:%v\n", timestamp1)

  fmt.Printf("current timestamp2:%v\n", timestamp2)

  }

  使用time.Unix()函数将时间戳转为时间格式。

  func timestampDemo2(timestamp int64) {

  timeObj := time.Unix(timestamp, 0) //将时间戳转为时间格式

  fmt.Println(timeObj)

  year := timeObj.Year() //年

  month := timeObj.Month() //月

  day := timeObj.Day() //日

  hour := timeObj.Hour() //小时

  minute := timeObj.Minute() //分钟

  second := timeObj.Second() //秒

  fmt.Printf("%d-%02d-%02d %02d:%02d:%02d\n", year, month, day, hour, minute, second)

  }

  定时器

  使用time.Tick(时间间隔),来设置定时器。

  func tickDemo(){

  ticker := time.Tick(time.Second)

  for i:=range ticker{

  fmt.Println(i)

  }

  }

  时间间隔

  Duration类型代表两个时间点之间经过的时间,以纳秒为单位。可表示的最长时间段大约为290年。定义时间间隔常量如下:

  const (无锡妇科医院哪家好 http://www.xasgyy.net/

  Nanosecond Duration =1

  Microsecond =1000*Nanosecond

  Millisecond =1000*Microsecond

  Second =1000*Millisecond

  Minute =60*Second

  Hour =60*Minute

  )

  例如:time.Duration 表示1纳秒,time.Second表示1秒。

  时间加时间间隔

  我们在日常的编码过程中可能会遇到要求时间+时间间隔的需求,Go语言的时间对象有提供Add方法如下:

  func (t Time) Add(d Duration) Time

  举个例子,求一个小时之后的时间:

  func main(){

  now := time.Now()

  later := now.Add(time.Hour)

  fmt.Println(later)

  }

  两个时间相减

  求两个时间之间的差值:

  func (t Time) Sub(u time) Duration

go语言的碎片整理:time的更多相关文章

  1. UltimateDefrag磁盘碎片整理软件 v3.0.100.19汉化版

    软件名称:UltimateDefrag磁盘碎片整理软件 v3.0.100.19汉化版软件类别:汉化软件运行环境:Windows软件语言:简体中文授权方式:免费版软件大小:3.25 MB软件等级:整理时 ...

  2. Defraggler磁盘碎片整理工具,让你的电脑读写速度更快

    相信大家都听说过磁盘碎片整理吧,所谓磁盘碎片,通俗的来说,就是指计算机中的各种文件最开始在磁盘中存储的时候地址都是连在一起的,但是随着文件 的多次读写,或者说多次的移动复制等操作,这些文件在磁盘中的地 ...

  3. 关闭电脑SSD的磁盘碎片整理

    小白往往会把机械硬盘时代的习惯带进固态硬盘时代,比如碎片整理.机械硬盘时代砖家最喜欢告诉小白:“系统慢了吧?赶紧碎片整理撒.”小白屁颠屁颠地整理去了.殊不知碎片整理对于SSD来说完全就是种折磨.这种“ ...

  4. sql索引碎片产生的原理 解决碎片的办法(sql碎片整理)(转)

    本文讲述了SQL SERVER中碎片产生的原理,内部碎片和外部碎片的概念.以及解决碎片的办法和填充因子.在数据库中,往往每一个对于某一方面性能增加的功能也会伴随着另一方面性能的减弱.系统的学习数据库知 ...

  5. 转载:为什么Linux不需要磁盘碎片整理

    转载自:www.aqee.net 如果你是个Linux用户,你可能听说过不需要去对你的linux文件系统进行磁盘碎片整理.也许你注意到了,在Liunx安装发布包里没有磁盘碎片整理的工具.为什么会这样? ...

  6. 为什么Linux不需要碎片整理?

    如果你是一个 Linux 用户,你可能会听说 Linux 的文件系统不需要碎片整理.你也可能会注意到 Linux 的发行版本也都没有磁盘碎片整理的功能.这是为什么呢? 要理解为什么 Linux 的文件 ...

  7. Virtual box中Ubuntu虚拟机磁盘碎片整理和空间清理方法

    虚拟机中,随着不断的使用,增加大文件(例如日志,视频和软件版本),虽然在虚拟机中手动删除了,但是虚拟机占用的空间并不会随之减少,需要手动清理一下. 这里介绍一种Virtual box中Ubuntu碎片 ...

  8. SQL Server索引碎片整理实际操作记录

    SQL Server 版本是 2008 R2. 查询数据库索引碎片情况的 SQL 语句(来源): SELECT OBJECT_NAME(ind.OBJECT_ID) AS TableName, ind ...

  9. Oracle表空间碎片整理SHRINK与MOVE

    整理表碎片通常的方法是move表,当然move是不能在线进行的,而且move后相应的索引也会失效,oracle针对上述不足,在10g时加入了shrink,那这个方法能不能在生产中使用呢?        ...

随机推荐

  1. python 列表 元组

    1.列表的基本声明和赋值 #声明一个空列表 变量 = [] 或者 变量 = list() var = [1] var2 = list() # 声明带有数据的列表 var = [1,2,3,'一','二 ...

  2. scikit-learning教程(二)统计学习科学数据处理的教程二

    模型选择:选择估计量及其参数 得分和交叉验证的分数 如我们所看到的,每个估计者都会公开一种score可以判断新数据的拟合质量(或预测)的方法.越大越好. >>> >>&g ...

  3. Educational Codeforces Round 24 D

    Alice and Bob got very bored during a long car trip so they decided to play a game. From the window ...

  4. 学习JavaScript数据结构与算法 (一)

    学习JavaScript数据结构与算法 的笔记, 包含一二三章 01基础 循环 斐波那契数列 var fibonaci = [1,1] for (var i = 2; i< 20;i++) { ...

  5. 128 Longest Consecutive Sequence 一个无序整数数组中找到最长连续序列

    给定一个未排序的整数数组,找出最长连续序列的长度.例如,给出 [100, 4, 200, 1, 3, 2],这个最长的连续序列是 [1, 2, 3, 4].返回所求长度: 4.要求你的算法复杂度为 O ...

  6. 144 Binary Tree Preorder Traversal 二叉树的前序遍历

    给定一棵二叉树,返回其节点值的前序遍历.例如:给定二叉树[1,null,2,3],   1    \     2    /   3返回 [1,2,3].注意: 递归方法很简单,你可以使用迭代方法来解决 ...

  7. 将php数组传递到js—json_encode(),json_decode()

    json_decode(),对一个json字符串进行解码,json_encode()是生成一个json字符串 上面的解释很清楚了,关于php里数组赋值的问题,列举如下: <?php //对象 c ...

  8. js深拷贝与浅拷贝的区别及实现

    1. 对于基本数据类型 其值在内存中占据着固定大小的空间,并被保存在栈内存中.当一个变量向另一个变量复制基本类型的值,会创建这个值的副本,并且我们不能给基本数据类型的值添加属性.其为深拷贝. 2. 对 ...

  9. IOS之pageControl

    用户点击页面控件,会触发UIControlEventValueChanged事件,并启动设置为控件动作的任何方法.可以通过调用currentPage查询控件的新值,并通过调整numberOfPages ...

  10. EOS Dapp体验报告

    EOS Dapp体验报告 EOS通过并行链和DPOS的方式解决了延迟和数据吞吐量的难题. EOS能够实现每秒百万级的处理量,而目前比特币是每秒7笔,以太坊是30-40笔,EOS的这一超强能力吊打比特币 ...