go语言time包

【SCADA】KingSCADA将数据插入SQLServer的方法 1、创建数据库及数据表格;2、配置ODBC数据源。3、通过KingSCADA与数据库建立连接,将数据写入数据库对应表格。 阅读详情

go语言time包

//time表示时间类型可以通过time.now()获取当前的时间对象.然后获取时间对象的年月日时分秒等信息
func main() {
	now := time.Now() //获取当前的时间
	fmt.Printf("current time:%v\n", now)

	year := now.Year()     //获取年
	month := now.Month()   //月
	day := now.Day()       //天
	hour := now.Hour()     //时
	minute := now.Minute() //分
	second := now.Second() // 秒
	fmt.Printf("%d-%2d-%2d %2d:%2d:%2d\n", year, month, day, hour, minute, second)
}

输出结果
C:\Users\34826\AppData\Local\Temp\___go_build_main_go__1_.exe #gosetup
current time:2021-03-25 16:57:43.2877883 +0800 CST m=+0.003990801
2021- 3-25 16:57:43

时间戳

//time表示时间类型可以通过time.now()获取当前的时间对象.然后获取时间对象的年月日时分秒等信息
func main() {
	now := time.Now() //获取当前的时间
	fmt.Printf("current time:%v\n", now)
	//时间戳
	timestamp1 := now.Unix()     //时间戳
	timestamp2 := now.UnixNano() //纳秒时间戳
	fmt.Printf("current timestamp1:%v\n", timestamp1)
	fmt.Printf("current timestamp2:%v\n", timestamp2)
}
输出结果
C:\Users\34826\AppData\Local\Temp\___go_build_main_go__1_.exe #gosetup
current time:2021-03-25 17:01:59.6201826 +0800 CST m=+0.003989001
current timestamp1:1616662919
current timestamp2:1616662919620182600

使用unix时间戳转换年月日时分秒

func main() {
	timestamp := time.Now().Unix()
	timeObj := time.Unix(timestamp, 0)
	year := timeObj.Year()
	mouth := timeObj.Month()
	day := timeObj.Day()
	hour := timeObj.Hour()
	minute := timeObj.Minute()
	second := timeObj.Second()
	fmt.Printf("%d-%d-%d %d:%d:%d", year, mouth, day, hour, minute, second)
}
输出结果
C:\Users\34826\AppData\Local\Temp\___go_build_main_go__1_.exe #gosetup
2021-3-25 17:8:7

时间间隔

//时间间隔
const (
	Nanosecond  = 1
	Microsecond = 1000 * Nanosecond
	Millisecond = 1000 * Microsecond
	Second      = 1000 * Millisecond
	Minute      = 60 * Second
	Hour        = 60 * Minute
)
秒以下的时间是千进制的.秒,分钟,小时是60进制的.

Add

func main() {
	timeNow := time.Now()  //当前时间以及相关的方法.
	timeAfter := timeNow.Add(2 * time.Hour)  //表示两个小时后的时间
	fmt.Println(timeAfter)
}
输出结果
C:\Users\34826\AppData\Local\Temp\___go_build_main_go__1_.exe #gosetup
2021-03-25 19:24:51.48939 +0800 CST m=+7200.004987201

time.sub用法

//time.sub用法
func main() {
	startTime := time.Now()
	time.Sleep(2 * time.Second)
	endTime := time.Now()
	timeFrame := endTime.Sub(startTime)
	fmt.Println(timeFrame)
}
输出结果
C:\Users\34826\AppData\Local\Temp\___go_build_main_go__1_.exe #gosetup
2.0006539s

equal用法

//time.equal用法
func main() {
	startTime := time.Now()
	time.Sleep(time.Second)
	endTime := time.Now()

	timeFrame := endTime.Equal(startTime)  //比较两个时间的大小, 这里传入的是starttime.与endtime进行比较.
	fmt.Println(timeFrame)
}

输出结果
C:\Users\34826\AppData\Local\Temp\___go_build_main_go__1_.exe #gosetup
false

与sub用法类似.但是这里输出的是一个bool值

time.befor

//time.before用法
func main() {
	startTime := time.Now()
	time.Sleep(time.Second)
	endTime := time.Now()

	timeFrame := endTime.Before(startTime) //表示end在start之前的话显示true.否则显示false
	fmt.Println(timeFrame)
}
输出结果
C:\Users\34826\AppData\Local\Temp\___go_build_main_go__1_.exe #gosetup
false
两个时间进行顺序比较关系.谁在谁的前面.显示bool

After同理

//time.after用法
func main() {
	startTime := time.Now()
	time.Sleep(time.Second)
	endTime := time.Now()

	timeFrame := endTime.After(startTime) //表示end在start之前的话显示true.否则显示false
	fmt.Println(timeFrame)
}

输出结果
C:\Users\34826\AppData\Local\Temp\___go_build_main_go__1_.exe #gosetup
true

定时器

//定时器
func main() {
	ticker := time.Tick(time.Second) //设定一个1秒间隔的定时器.
	for i := range ticker {
		fmt.Println(i) //每秒执行一次打印
	}
}
输出结果
C:\Users\34826\AppData\Local\Temp\___go_build_main_go__1_.exe #gosetup
2021-03-25 17:53:53.318923 +0800 CST m=+1.004326801
2021-03-25 17:53:54.3202331 +0800 CST m=+2.005636901
2021-03-25 17:53:55.3205616 +0800 CST m=+3.005965401
2021-03-25 17:53:56.3188922 +0800 CST m=+4.004296001
这里输出的是一个疫苗的定时器.每隔1秒钟执行一次.

格式化显示当前时间

//时间戳格式化成编年体显示
func main() {
	now := time.Now()
	//24小时制
	fmt.Println(now.Format("2006-01-02 15:04:05.000 "))
	// 12小时制
	fmt.Println(now.Format("2006-01-02 03:04:05.000 PM Mon Jan"))
	fmt.Println(now.Format("2006/01/02 15:04"))
	fmt.Println(now.Format("15:04 2006/01/02"))
	fmt.Println(now.Format("2006/01/02"))
}
输出结果:
C:\Users\34826\AppData\Local\Temp\___go_build_main_go__1_.exe #gosetup
2021-03-25 18:07:01.939
2021-03-25 06:07:01.939 PM Thu Mar
2021/03/25 18:07
18:07 2021/03/25
2021/03/25

按照指定格式指定时区解析时间

func main() {
	now := time.Now()
	fmt.Println(now)
	// 加载时区
	loc, err := time.LoadLocation("Asia/Shanghai")
	if err != nil {
		fmt.Println(err)
		return
	}
	// 按照指定时区和指定格式解析字符串时间
	timeObj, err := time.ParseInLocation("2006/01/02 15:04:05", "2019/08/04 14:15:20", loc)
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println(timeObj)
	fmt.Println(timeObj.Sub(now))  //将以前的时间当做基准时间,然后减掉当前的时间.得到的结果进行打印
}
输出结果
2021-03-25 18:14:06.0814043 +0800 CST m=+0.003989801
2019-08-04 14:15:20 +0800 CST
-14379h58m46.0814043s

练习题:

  1. 获取当前时间,格式化输出为2017/06/19 20:30:05`格式。
  2. 编写程序统计一段代码的执行耗时时间,单位精确到微秒。
23 RAG 为什么答不准:召回、分块、排序的常见坑 RAG 答不准时,不要先怪模型。本文把常见失败拆成召回不到、召回不准、分块不完整、排序靠后、上下文污染和生成不忠实六类,并给出从 Top-K 检查到评估集的排查流程。 阅读详情

相关推荐

5分钟搞定Nano-Banana图片编辑API对接:从Base64编码到生成图片全流程

本文详细介绍了如何快速对接Nano-Banana图片编辑API,基于gemini-2.5-flash-image-preview模型,从环境准备、Base64编码到API调用的全流程。通过实战示例和优化技巧,帮助开发者高效集成AI图片处理能力,提升产品竞争力。

dog123的博客 259

【Golang】golang中time类型的before方法

在比较时间的时候,比较有用的一个方法,判断两个时间的前后关系 a.before(b) 如果a在b之前,就返回true ,否则返回false func TestTimeBefore(t *testing.T) { b := time.Now().Add(1 * time.Second) a := time.Now().Add(2 * time.Second) log.Pr...

程序员老狼专注开发aigc或客服系统应用 1614

Reeds-Shepp曲线公式推导及代码实现-第二部分(共三部分)

文章目录2. Reeds-Shepp求解2.1 L+S+L+L^+S^+L^+L+S+L+2.2 L+S+R+L^+S^+R^+L+S+R+2.3 L+R−L+L^+R^-L^+L+R−L+2.4 L+R−L−L^+R^-L^-L+R−L−2.5 L+R+L−L^+R^+L^-L+R+L−2.6 L+Rβ+Lβ−R−L^+R_{\beta}^+L_{\beta}^-R^-L+Rβ+​Lβ−​R−2.7 L+Rβ−Lβ−R+L^+R_{\beta}^-L_{\beta}^-R^+L+Rβ−​Lβ−​R+2.8

jianmo的博客 1212

【Go】time 包

文章目录一、time 包简介二、原理三、时间的获取1. 获取当前时间 - time.Now()2. 获取时间戳 - Unix()、UnixNano()3. 获取当前是星期几 - Weekday()四、时间操作函数1. Add2. Sub3. Equal4. Before5. After五、定时器六、时间格式化七、参考链接 一、time 包简介 时间和日期是我们开发中经常会用到的,Go语言中的 time 包提供了 时间显示和测量 等所用的函数,本文介绍一下 time 包的基本用法。 二、原理 时间一般包含

weixin_44211968的博客 3267

Arduino程序设计(十)8×8 共阴极LED点阵显示(MAX7219)

本文主要介绍8×8 LED点阵显示实验,分别是:1、介绍MAX7219点阵模块;2、点阵显示部分图形;3、点阵显示数字 0~9 及 26 个英文字母。1、通过上述两个点阵实验,了解了8*8点阵显示的基本原理;2、通过SPI通信控制点阵显示,学会了Arduino用SPI通信方式控制外设。

Alice的博客 1万+

DaVinci Configurator BswM模块配置

BswM是AUTOSAR(Automotive Open System Architecture)系统架构中的模块之一,它是基础软件模块(BSW)之一。BswM全称为Basic Software Module Manager(基础软件模块管理器),它负责管理和协调其他BSW模块的行为和交互,以实现整个系统的功能。BswM可以被看作是一个状态机,通过监控系统的状态和事件触发,来控制其他BSW模块的运行状态和互相配合,以达到整个系统的预期行为。

qq_59258431的博客 3945

【GO】“time“ 包基础介绍

1. 时间和日期的表示 基本时间获取 时间组件的访问 时间戳的使用 2. 时间的构造 基本的时间构造 构造不同时区的时间 使用不同的时间单位 时间和日期的边界 3. 时间格式化与解析 时间格式化(Format) 时间解析(Parse) 4. 时间的比较、计算 时间比较 时间加减 复杂的时间计算 使用 Duration 类型 5. 时间间隔和定时器 时间间隔(Duration) 使用 time.Sleep 实现延时 使用 time.Tick 创建定时器 使

Bobowen的博客 1650

如何在 SAP Server Side JavaScript 里消费 destination

在SAP云平台里打开SAP HANA Web-Based Development Workbench进行服务器端JavaScript的开发。 创建一个新的package: 创建一个新的application: 创建一个新的文件google-distance-api.xshttpdest用于维护destination相关信息: host = "maps.googlea...

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 611

【Golang】Go 语言中的 time 包详解:全面掌握时间处理与应用

在 Go 语言中,time包提供了强大的时间处理功能,适用于各种场景:获取当前时间、格式化和解析时间、计算时间间隔、设置定时器、处理超时等。在开发过程中,熟练掌握time包能够帮助我们轻松处理时间相关的操作,尤其是定时任务、超时控制等非常常见的功能。

Linke的博客 3889

YOLOv9改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计

实时检测器架构的轻量级设计GsConv。

Limiiiing的博客 1364

YOLOv8改进系列:RepVGG重参数化结构——训练多分支,推理单路,极致提速

本文将详细介绍如何将RepVGG的重参数化思想融入到YOLOv8的骨干网络中,实现一种训练时多分支、推理时单路的改进版YOLOv8。我们将提供完整的代码实现、详细的原理讲解,并在COCO数据集和自定义数据集上进行充分的实验验证。

YOLO 200

八、Golang time 包以及日期函数

在 golang 中 time 包提供了时间的显示和测量用的函数。可以通过 time.Now()函数获取当前的时间对象,然后获取时间对象的年月日时分秒等信息。%02d 中的 2 表示宽度,如果整数不够 2 列就补上 0时间类型有一个自带的方法Format进行格式化,需要注意的是Go语言中格式化时间模板不是常见的Y-m-d H:M:S而是使用Go的诞生时间2006年1月2号15点04分(记忆口诀为2006 1 2 3 4)2006 年01 月02 日03 时04 分05 秒。

阿澈不吃蒜的博客 2555

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【golang】Go语言学习-time包

go语言的time包 组成 time.Duration(时长,耗时)time.Time(时间点)time.C(放时间点的管道)[ Time.C:=make(chan time.Time) ] time包里有2个东西,一个是时间点,另一个是时长  时间点的意思就是“某一刻”,比如 2000年1月1日1点1分1秒 那一刻(后台记录的是unix时间,从1970年开始计算)  时

zhonglinzhang 2万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Go语言学习笔记—golang标准库time包

time包提供测量和显示时间的功能。

qq_39280718的博客 1159

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Go语言的time包与math包

1.背景介绍 1. 背景介绍 Go语言的time包和math包是Go语言标准库中的两个重要包,它们提供了时间和数学计算的基本功能。time包提供了处理日期和时间的功能,包括获取当前时间、格式化时间、计算时间差等。math包提供了基本的数学计算功能,包括四则运算、三角函数、指数函数、对数函数等。 这两个包在Go语言中的应用非常广泛,它们是Go语言开发者在处理时间和数学计算时不可或缺的工具。在本...

AI天才研究院 1264

Golang深入浅出之-Go语言中的时间与日期处理:time包详解

在Go语言中,time包提供了丰富而强大的功能来处理时间和日期,这对于构建精确计时、定时任务、日期格式化等应用场景至关重要。本文将深入浅出地探讨time包的核心概念、常见问题、易错点及其规避策略,并通过实用代码示例加深理解。

zevjay的博客 1004

Go语言Time包的使用

Go语言中有关于时间和日期的方法都在time包里面,Go语言的time包为开发者提供了一套全面而简洁的工具来处理时间相关的操作。

CodeJR 1161

go语言中time包总结

在我们开发的过程中,每个项目都需要时间这一类的函数,此时,对time这个包的研究深度就显得尤为重要,现在,对time包中的各种函数做出一个总结,加深一些记忆, 时间类型 Go语言中,time.Time类型表示时间。我们可以通过time.Now函数获取当前时间的对象,然后从时间对象中获取到年,月,日,时,分,秒等信息,代码如下 // timeDemo 时间对象的年月日时分秒 func timeDemo() { now := time.Now() // 获取当前时间 fmt.Printf("current

m0_58181788的博客 1482

Go语言基础-time包的使用

在开发过程中,常常可以遇到有些关乎到日期时间等的需求,本文简单介绍Go语言中time包的几个基本函数用法。有不对之处,敬请指出,感激不尽!

huo_le2的博客 1060

Go语言 time包

Go语言基础之time包 时间和日期是我们编程中经常会用到的,本文主要介绍了Go语言内置的time包的基本用法。 time包 time包提供了时间的显示和测量用的函数。日历的计算采用的是公历。 时间类型 time.Time类型表示时间。我们可以通过time.Now()函数获取当前的时间对象,然后获取时间对象的年月日时分秒等信息。示例代码如下: func timeDemo() { now := t...

郝啊的博客 610

go语言time包介绍

go语言time包使用说明

qq_43800449的博客 528

Go 语言时间包time的使用

Go 语言时间包time的使用 原文:链接 时间类型 time.Time类型表示时间。 //时间类型 func timeDemo() { now := time.Now() fmt.Println(now) //2019-04-20 13:52:35.226397 +0800 CST m=+0.000336111 fmt.Println(now.Format("2006-01-02 15:04")) //2019-04-20 13:52 year := now.Yea

CZT704265085的博客 428

go语言的time包

go语言的time包组成time.Duration(时长,耗时) time.Time(时间点) time.C(放时间点的管道)[ Time.C:=make(chan time.Time) ] time包里有2个东西,一个是时间点,另一个是时长 时间点的意思就是“某一刻”,比如 2000年1月1日1点1分1秒 那一刻(后台记录的是unix时间,从1970年开始计算) 时长就是某一刻与另一刻的

qingqianxiaoyao的博客 470

Go语言基础之time包

Go语言基础之time包 Go语言基础之time包 时间和日期是我们编程中经常会用到的,本文主要介绍了Go语言内置的time包的基本用法。 Go语言中导入包 Go语言中使用import关键字导入包,包的名字使用双引号(”)包裹起来。 单行导入 import "time" import "fmt" 多行导入 导入多个包时可...

aaronthon的博客 480

Go语言只time包

Go语言只time包 前言 Hey,大家好呀,我是码农星期八! 一寸光阴一寸金,时间难买寸光阴,时间,是个多么重要的东西。 同样,在我们的编程中,时间也依然占据着很大的一部分。 就像淘宝,客户下单需要记录时间,发货了需要记录时间,保质期多久需要推算时间,等等等等。 那我们一起来看看Go中是如何操作时间叭! time.Now() time.Now()返回的是一个Time类型。 相关代码如下 func main() { var nowTime = time.Now() fmt.Println(nowTime

tianyi19的博客 214

Go语言 time 包详解:从基础到实战

Go语言标准库的 time 包提供了全面精准的时间处理工具,包含两个核心类型:time.Time表示具体时间点,time.Duration表示时间间隔。time包支持获取当前时间(Now())、创建指定时间(Date())和解析时间字符串(Parse/ParseInLocation)。时间解析采用独特的"2006-01-02 15:04:05"参考模板,提供纳秒级精度和时区处理能力,适用于日志记录、定时任务等场景。

莫踌躇 1354
上一篇: go语言中fmt包的基本用法
下一篇: go语言flag包的使用
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值