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. Wannafly Camp 2020 Day 1C 染色图 - 组合数学,整除分块

    定义一张无向图 G=⟨V,E⟩ 是 k 可染色的当且仅当存在函数 f:V↦{1,2,⋯,k} 满足对于 G 中的任何一条边 (u,v),都有 f(u)≠f(v). 定义函数 g(n,k) 的值为所有包 ...

  2. yii2表单提交CSRF验证

    Yii2表单提交默认需要验证CSRF,如果CSRF验证不通过,则表单提交失败,解决方法如下: 第一种解决办法是关闭Csrf public $enableCsrfValidation = false; ...

  3. MySQL 8.0.18 在 Windows Server 2019 上的安装(MSI)公开

    AskScuti MySQL : Windows Server 2019 安装 MySQL 8.0 温馨提示:为了展现我最“魅力”的一面,请用谷歌浏览器撩我.那个 IE 啊,我很无奈. 一切就绪,点我 ...

  4. python3练习100题——037

    原题链接:http://www.runoob.com/python/python-exercise-example37.html 题目:对10个数进行排序. 程序分析:可以利用选择法,即从后9个比较过 ...

  5. 【Unity|C#】基础篇(8)——委托(Delegate)/ 事件(Event)

    [学习资料] <C#图解教程>(第13~14章):https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.bai ...

  6. 问题解决:xampp中phpmyadmin“无法连接:无效的设置”

    背景: 在服务器上搭建Testlink测试管理系统,却在打不开phpmyadmin地址,无法设置数据库密码,后续步骤无法进行 (错误界面的图片忘记截取了┭┮﹏┭┮) 解决办法: 一:验证apache端 ...

  7. 【模板】裸SPFA

    SPFA可以处理带负边权的图,可以判负环,然而SPFA容易被卡,即使加了各种优化. 队列优化的贝尔福德曼:裸SPFA //SPFA #include<bits/stdc++.h> usin ...

  8. 消息中间件之ActiveMQ

    一.什么是消息中间件(MQ) 1.1 为什么会需要消息队列(MQ)? 主要原因是由于在高并发环境下,由于来不及同步处理,请求往往会发生堵塞,比如说,大量的insert,update之类的请求同时到达M ...

  9. 后缀数组 poj 3415

    首先,height[i]-k+1  很好理解把,他是说明目前这对后缀中不小于k的公共子串个数. 题解说用单调栈维护,为什么要用单调栈维护呢?因为时间复杂的可以大大降低. 怎么个降低方法呢? 在之前学习 ...

  10. TFTP服务[精简版]:简单文件传输协议

    简单文件传输协议(Trivial File Transfer Protocol,TFTP)是一种基于 UDP 协议在客户端 和服务器之间进行简单文件传输的协议.顾名思义,它提供不复杂.开销不大的文件传 ...