目录

​Go+ 概述​

​正文​

​导入包​

​获取系统当前时间​

​构建时间对象​

​时间对象的一般方法​

​时间大小比较​


Go+ 概述

Go+ 是一门融合工程开发的 Go、数据科学领域的 Python、编程教学领域的 Scratch,以 Python 之形结合 Go 之心,让工程师处理数据不需要学习新的开发语言,让初学者学习编程、开发作品的门槛更低的编程语言。

正文

Go+ 对时间点和时间段给予了非常丰富的支持,今天我们就来了解一下这方面的一些内容。

导入包

Go+ 支持对时间点和时间段的展示和处理,使用的工具库是 time 包,导入方式如下:


import (
"time"
)

#yyds干货盘点#Go+ 时间 Time 方法教程(4.7)_时间对象

获取系统当前时间

利用 time 包可以非常简单的实现获取系统的当前时间,示例代码:


import (
"time"
)

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

#yyds干货盘点#Go+ 时间 Time 方法教程(4.7)_示例代码_02

执行结果:

2009-11-10 23:00:00 +0000 UTC m=+0.000000001

注意:这个是在线编译器的系统时间,可能和我们当前的互联网时间不一致。 

​亲自试一试!​

构建时间对象

我们可以根据需要去创建自定义的时间结构体对象,示例代码:


import (
"time"
)

// 自定义时间结构体对象
aTime := time.Date(2021, 11, 30, 24, 0, 0, 651387237, time.UTC)
print("自定义时间结构体对象:", aTime)

#yyds干货盘点#Go+ 时间 Time 方法教程(4.7)_时间对象_03

执行结果:

自定义时间结构体对象:2021-12-01 00:00:00.651387237 +0000 UTC

细心的话,你会发现 Go+ 对时间点进行了一定程度上的修正。

​亲自试一试!​

时间对象的一般方法

Go+ 的 time 包实现了很多时间的常用方法,接下来我们看一部分,示例代码:


import (
"time"
)

// 时间对象的一般方法
now := time.Now()
println("年:", now.Year())
println("月:", now.Month())
println("日:", now.Day())
println("时:", now.Hour())
println("分:", now.Minute())
println("秒:", now.Second())
println("纳秒:", now.Nanosecond())
println("位置:", now.Location())
println("星期:", now.Weekday())

#yyds干货盘点#Go+ 时间 Time 方法教程(4.7)_示例代码_04

执行结果:

年: 2009 月: November 日: 10 时: 23 分: 0 秒: 0 纳秒: 0 位置: Local 星期: Tuesday

​亲自试一试!​

时间大小比较

当存在多个时间对象时,也可以非常方便的进行大小比较,示例代码:


import (
"time"
)

// 时间对象的一般方法
a := time.Date(2021, 10, 1, 2, 3, 5, 651387237, time.UTC)
b := time.Date(2020, 10, 7, 8, 9, 10, 651387237, time.UTC)
println("a比b时间早", a.Before(b))
println("a比b时间晚", a.After(b))
println("a和b时间相等", a.Equal(b))

#yyds干货盘点#Go+ 时间 Time 方法教程(4.7)_示例代码_05

执行结果:

a比b时间早 false a比b时间晚 true a和b时间相等 false

​亲自试一试!​


作者简介:😄大家好,我是 Data-Mining(liuzhen007),是一位典型的音视频技术爱好者,前后就职于传统广电巨头和音视频互联网公司,具有丰富的音视频直播和点播相关经验,对 WebRTC、FFmpeg 和 Electron 有非常深入的了解,😄公众号:玩转音视频。同时也是 CSDN 博客专家、华为云享专家(共创编辑)、InfoQ 签约作者,欢迎关注我分享更多干货!😄