Go时间
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时间的更多相关文章
- 一起学微软Power BI系列-使用技巧(5)自定义PowerBI时间日期表
1.日期函数表作用 经常使用Excel或者PowerBI,Power Pivot做报表,时间日期是一个重要的纬度,加上做一些钻取,时间日期函数表不可避免.所以今天就给大家分享一个自定义的做日期表的方法 ...
- 关于这段时间学习 EntityFramework的 一点感悟
Ado.Net,用了N多年,Entity Framework也关注了很多年. 每当项目转型的时候,就花费大巴的时间,学习一番,潮流的东西. 这个Orm很多,这个EF很火,这么多年了,我还是不敢用,虽然 ...
- C++中的时间函数
C++获取时间函数众多,何时该用什么函数,拿到的是什么时间?该怎么用?很多人都会混淆. 本文是本人经历了几款游戏客户端和服务器开发后,对游戏中时间获取的一点总结. 最早学习游戏客户端时,为了获取最精确 ...
- C语言 · 时间转换
问题描述 给定一个以秒为单位的时间t,要求用"<H>:<M>:<S>"的格式来表示这个时间.<H>表示时间,<M>表示分 ...
- 05.LoT.UI 前后台通用框架分解系列之——漂亮的时间选择器
LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...
- bootstrap-datetimepicker 进一步跟进~~~开始时间和结束时间的样式显示
上次简单介绍了一下:05.LoT.UI 前后台通用框架分解系列之——漂亮的时间选择器(http://www.cnblogs.com/dunitian/p/5524019.html) 这次深入再介绍一下 ...
- MySQL设置字段的默认值为当前系统时间
问题产生: 当我们在对某个字段进行设置时间默认值,该默认值必须是的当前记录的插入时间,那么就将当前系统时间作为该记录创建的时间. 应用场景: 1.在数据表中,要记录每条数据是什么时候创建的,应该由数据 ...
- PHP之时间和日期函数
// 时间日期函数 Time <?php date_default_timezone_set('UTC'); // 获取当前时间的时间戳 $time0 = mktime(); $time1 = ...
- android 两种实现计时器时分秒的实现,把时间放在你的手中~
可能我们在开发中会时常用到计时器这玩意儿,比如在录像的时候,我们可能需要在右上角显示一个计时器.这个东西其实实现起来非常简单. 只需要用一个控件Chronometer,是的,就这么简单,我都不好意思讲 ...
- 微信小程序中利用时间选择器和js无计算实现定时器(将字符串或秒数转换成倒计时)
转载注明出处 改成了一个单独的js文件,并修改代码增加了通用性,点击这里查看 今天写小程序,有一个需求就是用户选择时间,然后我这边就要开始倒计时. 因为小程序的限制,所以直接选用时间选择器作为选择定时 ...
随机推荐
- Qt中的Label和PushButton背景图自动缩放设置
Label 背景图自动缩放 QPixmap* pixmap = new QPixmap(":/images/HeadIcon/1.png"); pixmap->scaled( ...
- python:复制文件及文件夹
#!/usr/bin/python# -*- coding:utf-8 -*- import shutil #shutil.copy(文件1,文件2)#将源内容复制到目标文件中.d.txt不存在则创建 ...
- 《深入理解Java虚拟机》读书笔记二
第三章 垃圾收集器与内存分配策略 1.判断对象是否已死 引用计数法: 给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1,每当引用失效时,计数器值就减1. 任何时刻计数器为0的对象就是不 ...
- socks5代理服务器搭建
1.首先,编译安装SS5需要先安装一些依赖组件 yum -y install gcc gcc-c++ automake make pam-devel openldap-devel cyrus-sasl ...
- Unity 坐标系转换
在Unity中我们通常会用到以下几个坐标系下的点: 世界坐标系:World Space 简单来讲,我们通过 transform.position | transform.rotation 获取得到的位 ...
- Leetcode 面试题 01.01. 判定字符是否唯一
实现一个算法,确定一个字符串 s 的所有字符是否全都不同. 示例 1: 输入: s = "leetcode"输出: false 示例 2: 输入: s = "abc&qu ...
- FineUIPro/Mvc/Core v6.1.0 发布了!
FineUIPro/Mvc/Core v6.1.0 正式发布了(2019-12-25),这个版本主要是BUG修正,并增加了一些新特性,建议升级到此版本. 在列举新版本特性之前,我们先来回顾下每次发布大 ...
- Java接收前台传回的json
var list = new Array(); var obj = {}; obj.name= "zhangsan"; obj.sex= "女";obj.ema ...
- C++内存管理(new operator/operator new/operator delete/placement new)
new operator 我们平时使用的new是new操作符(new operator),就像sizeof一样是语言内置的,不能改变它的含义,功能也是一样的 比如: string *ps = new ...
- quartus 9.0 对话框显示不完整
今天在quartus9.0新建SOPC build时,发现在添加PLL时对话框太大,笔记本分辨率差,导致结束和next不能选择: 解决: 如果电脑分辨率可以调整为合适的,就去调整: 现在介绍分辨率不合 ...