package main

import (
"time"
"fmt"
"math/rand"
) func main() {
/*
time包:
1年=365天,day
1天=24小时,hour
1小时=60分钟,minute
1分钟=60秒,second
1秒钟=1000毫秒,millisecond
1毫秒=1000微秒,microsecond-->μs
1微秒=1000纳秒,nanosecond-->ns
1纳秒=1000皮秒,picosecond-->ps
*/ //1.获取当前的时间
t1 := time.Now()
fmt.Printf("%T\n",t1) //time.Time
fmt.Println(t1) //2019-06-26 10:46:40.349196 +0800 CST m=+0.000495846 //2.获取指定的时间
t2 := time.Date(2008,7,15,16,30,28,0,time.Local)
fmt.Println(t2) //2008-07-15 16:30:28 +0800 CST //3.time-->string之间的转换
/*
t1.Format("格式模板")-->string
模板的日期必须是固定:06-1-2-3-4-5
*/
s1 := t1.Format("2006-1-2 15:04:05") //模板
fmt.Println(s1) //2020-2-2 07:52:44 s2 := t1.Format("2006/01/02") //模板
fmt.Println(s2) //2020/02/02 //string-->time
/*
time.Parse("模板",str)-->time,err
*/
s3 := "1999年10月10日"//string
t3 ,err := time.Parse("2006年01月02日",s3)
if err != nil{
fmt.Println("err:",err)
}
fmt.Println(t3) //1999-10-10 00:00:00 +0000 UTC
fmt.Printf("%T\n",t3) //time.Time fmt.Println(t1.String()) //2020-02-02 07:52:44.1887023 +0800 CST m=+0.002992701 //4.根据当前时间,获取指定的内容
year,month,day := t1.Date() //年,月,日
fmt.Println(year,month,day) //2020 February 2 hour,min,sec := t1.Clock() //时,分,秒
fmt.Println(hour,min,sec) //7 52 44 year2 := t1.Year()
fmt.Println("年:",year2) //年: 2020
fmt.Println(t1.YearDay()) //33 month2 := t1.Month()
fmt.Println("月:",month2) //月: February
fmt.Println("日:",t1.Day()) //日: 2
fmt.Println("时:",t1.Hour()) //时: 7
fmt.Println("分钟:",t1.Minute()) //分钟: 52
fmt.Println("秒:",t1.Second()) //秒: 44
fmt.Println("纳秒:",t1.Nanosecond()) //纳秒: 188702300 fmt.Println(t1.Weekday()) //Sunday //5.时间戳:指定的日期,距离1970年1月1日0点0时0分0秒的时间差值:秒,纳秒
t4 := time.Date(1970,1,1,1,0,0,0,time.UTC)
timeStamp1:=t4.Unix() //秒的差值
fmt.Println(timeStamp1)//3600
timeStamp2 := t1.Unix()
fmt.Println(timeStamp2) //1580601164 timeStamp3 := t4.UnixNano()
fmt.Println(timeStamp3) //3600 000 000 000
timeStamp4 := t1.UnixNano()
fmt.Println(timeStamp4) //1580601164188702300 //6.时间间隔
t5 := t1.Add(time.Minute)
fmt.Println(t1) //2020-02-02 07:52:44.1887023 +0800 CST m=+0.002992701
fmt.Println(t5) //2020-02-02 07:53:44.1887023 +0800 CST m=+60.002992701
fmt.Println(t1.Add(24 * time.Hour))
//2020-02-03 07:52:44.1887023 +0800 CST m=+86400.002992701 t6 := t1.AddDate(1,0,0)
fmt.Println(t6) //2021-02-02 07:52:44.1887023 +0800 CST d1 := t5.Sub(t1)
fmt.Println(d1) //1m0s //7.睡眠
time.Sleep(3 *time.Second) //让当前的程序进入睡眠状态
fmt.Println("main。。。over。。。。。") //睡眠[1-10]的随机秒数
rand.Seed(time.Now().UnixNano())
randNum := rand.Intn(10) + 1 //int
fmt.Println(randNum) //10
time.Sleep(time.Duration(randNum)*time.Second)
fmt.Println("睡醒了。。")
}

  

Go时间的更多相关文章

  1. 一起学微软Power BI系列-使用技巧(5)自定义PowerBI时间日期表

    1.日期函数表作用 经常使用Excel或者PowerBI,Power Pivot做报表,时间日期是一个重要的纬度,加上做一些钻取,时间日期函数表不可避免.所以今天就给大家分享一个自定义的做日期表的方法 ...

  2. 关于这段时间学习 EntityFramework的 一点感悟

    Ado.Net,用了N多年,Entity Framework也关注了很多年. 每当项目转型的时候,就花费大巴的时间,学习一番,潮流的东西. 这个Orm很多,这个EF很火,这么多年了,我还是不敢用,虽然 ...

  3. C++中的时间函数

    C++获取时间函数众多,何时该用什么函数,拿到的是什么时间?该怎么用?很多人都会混淆. 本文是本人经历了几款游戏客户端和服务器开发后,对游戏中时间获取的一点总结. 最早学习游戏客户端时,为了获取最精确 ...

  4. C语言 · 时间转换

    问题描述 给定一个以秒为单位的时间t,要求用"<H>:<M>:<S>"的格式来表示这个时间.<H>表示时间,<M>表示分 ...

  5. 05.LoT.UI 前后台通用框架分解系列之——漂亮的时间选择器

    LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...

  6. bootstrap-datetimepicker 进一步跟进~~~开始时间和结束时间的样式显示

    上次简单介绍了一下:05.LoT.UI 前后台通用框架分解系列之——漂亮的时间选择器(http://www.cnblogs.com/dunitian/p/5524019.html) 这次深入再介绍一下 ...

  7. MySQL设置字段的默认值为当前系统时间

    问题产生: 当我们在对某个字段进行设置时间默认值,该默认值必须是的当前记录的插入时间,那么就将当前系统时间作为该记录创建的时间. 应用场景: 1.在数据表中,要记录每条数据是什么时候创建的,应该由数据 ...

  8. PHP之时间和日期函数

    // 时间日期函数 Time <?php date_default_timezone_set('UTC'); // 获取当前时间的时间戳 $time0 = mktime(); $time1 = ...

  9. android 两种实现计时器时分秒的实现,把时间放在你的手中~

    可能我们在开发中会时常用到计时器这玩意儿,比如在录像的时候,我们可能需要在右上角显示一个计时器.这个东西其实实现起来非常简单. 只需要用一个控件Chronometer,是的,就这么简单,我都不好意思讲 ...

  10. 微信小程序中利用时间选择器和js无计算实现定时器(将字符串或秒数转换成倒计时)

    转载注明出处 改成了一个单独的js文件,并修改代码增加了通用性,点击这里查看 今天写小程序,有一个需求就是用户选择时间,然后我这边就要开始倒计时. 因为小程序的限制,所以直接选用时间选择器作为选择定时 ...

随机推荐

  1. numpy学习(一)

    (一)基础学习 学习渠道:阿里天池AI学习——Numpy基础(传送门) (二)练习篇 练习渠道:Numpy基础100题(Part 1) 1. Import the numpy package unde ...

  2. MySQL安装版安装过程

    步骤1 步骤2 步骤3 步骤4 步骤5 步骤6 步骤7 步骤8 步骤9 步骤10 步骤11 步骤12

  3. Alan Walker MV 合辑01 by defender

    Alan Walker MV合辑  出来啦! 百度网盘下载地址: 链接:https://pan.baidu.com/s/10WSool70XBe_8tJOae8V-w 提取码:uckq 地址查看 Mi ...

  4. RN开发-windows环境搭建

    1.安装jdk,sdk,C++运行环境(cygwin,Windows SDK,mingw),node.js和git 2.设置全局使用指定的镜像        打开git-cmd.exe         ...

  5. Hello world-初识C++

    刚开始学习编程时,都是以输出Hello world开始的 用C++编写程序输出Hello world如下: #include<iostream>using namespace std;in ...

  6. js中事件代理(委托)

    var oul = document.getElementById(‘uli’); oul.onclick = function(e) { e = e || window.event; var tar ...

  7. springboot静态资源

    https://blog.csdn.net/yali_aini/article/details/83213695 https://blog.csdn.net/sihai12345/article/de ...

  8. 连续张量理解和contiguous()方法使用,view和reshape的区别

    连续张量理解和contiguous()方法使用,view和reshape的区别 待办 内存共享: 下边的x内存布局是从0开始的,y内存布局,不是从0开始的张量 For example: when yo ...

  9. 【STM32H7教程】第59章 STM32H7的DAC基础知识和HAL库API

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第59章       STM32H7的DAC基础知识和HAL库 ...

  10. CentOS 7防火墙快速开放端口配置方法

    CentOS升级到7之后,发现无法使用iptables控制Linuxs的端口,baidu之后发现Centos 7使用firewalld代替了原来的iptables.下面记录如何使用firewalld开 ...