广告
返回顶部
首页 > 资讯 > 后端开发 > GO >golang time常用方法详解
  • 567
分享到

golang time常用方法详解

2024-04-02 19:04:59 567人浏览 安东尼
摘要

说明         在golang中,时间转换都会通过Time类型做一系列转换。主要包含,时间戳和时间字符串,时间字符串转换成另外的格式。总

说明

        在golang中,时间转换都会通过Time类型做一系列转换。主要包含,时间戳和时间字符串,时间字符串转换成另外的格式。总之所有的转换都是通过Time类型做中间转换。参考文档:https://Golang.org/pkg/time/

操作

1,获取当前时间


t1 := time.Now()    // 返回的是时间Time类型
fmt.Println(t1, reflect.TypeOf(t1)) 

2,获取指定时间


t4 := time.Date(2019, 9, 30, 14, 28, 26, 23, time.Local)  // 返回时间格式Time
fmt.Println(t4)

3,获取当前时间戳


t1 := time.Now()
t1Second := t1.Unix()  // 获取秒的时间戳
fmt.Println(t1Second)
t1Nano := t1.UnixNano()    // 获取毫秒时间戳
fmt.Println(t1Nano)

4,时间戳转时间time.Time


timeStamp := 1569826535
t := time.Unix(int64(timeStamp), 0)  // time.Time
strTime := t.FORMat("2006-01-02 15:04:05")
fmt.Println(strTime)  // 2019-09-30 14:55:35

5,时间字符串转时间time.Time


s := "2019年9月30日 15:10:30"  // ---> 2019-09-30 15:10:30
t, err := time.Parse("2006年1月2日 15:4:5", s)
if err != nil {
	fmt.Println(err.Error())
}
result := t.Format("2006-01-02 15:04:05")
fmt.Println(result)

注意:这个地方需要注意两点

1,时间模板必须是 2006年1月2日 15点4分5秒,不论怎么表述,都会是这个时间。

2,在转换的时候,传入的时间格式是什么样子,模板时间也必须写成什么样子。例如:

带转换的时间:2019-09-30 15:12:14  那么模板时间就应该是 2006-01-30 15:04:05

时间转换

        通常转换的过程都是通过time.Time来做中间转换的,不论是时间戳格式转成时间格式,还是时间字符串转换成时间格式/时间其他格式/时间戳,都是通过time.Time格式来做的中转。

1,时间Time格式转时间戳,直接转换,因为Time类型可以转换成时间的任何格式和类型


t1 := time.Now()
timeStamp := t1.Unix()

2,时间戳转时间字符串


timeStamp := 1569826535
t := time.Unix(int64(timeStamp), 0)  // time.Time
strTime := t.Format("2006-01-02 15:04:05")
fmt.Println(strTime)  // 2019-09-30 14:55:35

3,获取时间中的年月日时分秒星期

无论是给的时间戳还是时间格式,都先转换成time.Time


timeStamp := 1569826535  // 2019-09-30 14:55:35
t := time.Unix(int64(timeStamp), 0)  // time.Time
year, month, day := t.Date()
hour, minute, second := t.Clock()
fmt.Println(year, month, day, hour, minute, second)
// 同样可以根据时间格式提供的方法
// 可以获取星期几,还可以获取当前是一年的多少天
fmt.Println(t.Year(), t.Month(), t.Day(), t.Hour(), t.Minute(), t.Second(), t.Weekday(), t.YearDay())

4,时间加减法


timeStamp := 1569826535             // 2019-09-30 14:55:35
t := time.Unix(int64(timeStamp), 0) // time.Time
 
// 时间年月日加减,如果是负数,怎表示减去多少
t2 := t.ADDDate(0, -1, 0)
fmt.Println(t2.Format("2006/01/02 15:04:05"))
 
// 第二种写法,同样的是负数表示减法
t3 := t.Add(-time.Hour * 24)
fmt.Println(t3.Format("2006/01/02 15:04:05"))

5,判断时间大小


// 判断某个时间是不是在某个时间之前/之后/相等,传入的参数必须是时间格式
t4 := t.After(time.Now())
t5 := t.Before(time.Now())
t6 := t.Equal(t)
// 返回的是bool值
fmt.Println(t4, t5, t6)    // false true true

到此这篇关于golang time常用方法详解的文章就介绍到这了,更多相关golang time常用方法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: golang time常用方法详解

本文链接: https://www.lsjlt.com/news/132764.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • golang time常用方法详解
    说明         在golang中,时间转换都会通过Time类型做一系列转换。主要包含,时间戳和时间字符串,时间字符串转换成另外的格式。总...
    99+
    2022-11-12
  • 详解Golang中time包的使用方法
    Golang作为移动互联网时代的代表性编程语言,在时间处理方面有着独具特色的实现方式。本文将介绍Golang中的time包,豁然开朗的实现方式。time包在Golang中,我们可以通过time包来进行时间相关的操作。time包提供了两种时间...
    99+
    2023-05-14
  • Golang官方限流器time/rate的使用与实现详解
    目录常见的限流算法固定窗口计数器算法滑动窗口计数器算法令牌桶算法漏桶算法time/rate主要方法各个方法的作用time/rate 是如何实现限流的源码解析常见的限流算法 ...
    99+
    2023-05-18
    Golang限流器time/rate使用 Golang限流器time/rate Golang限流器 Golang time/rate
  • Python中time与datetime模块使用方法详解
    目录time 模块datetime 模块总结time 模块 time 模块,也就是时间模块,用来进行一些与时间有关的操作。其使用方法为: import time print(time...
    99+
    2022-11-13
  • Golang泛型的使用方法详解
    目录1. 泛型是什么2. 泛型的简单使用2.1. 泛型示例2.2. 自定义泛型类型2.3. 调用带泛型的函数3. 自定义泛型类型的语法3.1. 内置的泛型类型any和comparab...
    99+
    2022-11-13
  • 详解ubuntu golang 安装方法
    Ubuntu系统下,Golang的安装非常简单。本文将提供 Ubuntu 18.04 系统下的 Golang 安装方法,来让你的开发过程变得更加舒适。下载安装包前往官网 https://golang.org/dl/ 下载适合自己的版本即可。...
    99+
    2023-05-14
    Golang
  • Python标准库time使用方式详解
    目录1、time库1.1、获取格林威治西部的夏令时地区的偏移秒数1.2、时间函数1.3、格式化时间、日期1.4、单调时钟1、time库 时间戳(timestamp)的方式:通常来说,...
    99+
    2022-11-11
  • 一文详解Golang中的方法
    Golang(也被称为Go)是一种并发编程语言,它是由谷歌公司开发的。Golang很流行,因为它的代码简洁、易读并且能够处理高并发。一个Golang程序在编写时包含有函数和方法,本文将会关注Golang的方法。方法是面向对象编程中的关键部分...
    99+
    2023-05-14
    Golang go语言
  • 详解Python常用的魔法方法
    目录一、python魔法方法二、运算符重载三、打印操作的魔法方法四、属性操作的魔法方法五、描述符六、定制序列七、迭代器一、python魔法方法 Python的魔法方法会在特定的情况下...
    99+
    2022-11-12
  • 详解介绍Golang中的方法集
    Go语言是一门新兴的编程语言,优雅、高效、简洁的特点吸引了众多程序员的关注。Go语言在语法、平台支持、性能等多个方面优秀,在数据处理、高并发编程、Web编程等领域得到广泛应用,并具有极高的扩展性。Golang中的方法集是许多开发者不太熟悉的...
    99+
    2023-05-14
  • 详解golang中session的实现方法
    在 Web 开发中,为实现不同的用户登录,我们需要使用 Session 进行用户的管理。在 Golang 程序中,如何使用 Session 呢?本文将介绍 Golang Session 的实现方法。什么是 Session?Session 是...
    99+
    2023-05-14
  • Vue开发常用方法详解
    目录$nextTick()$forceUpdate()$set().sync——2.3.0+ 新增(Vue 3.x中已被v-model替换,不再支持)总结$nextTick() th...
    99+
    2022-11-12
  • python中time库使用详解
    目录time库的使用:时间获取:(1)time函数(2)localtime()函数和gmtime()函数(3)ctime()函数(与asctime()函数为一对互补函数) ...
    99+
    2022-11-11
  • golang的os包用法详解
    目录简述os 包中的常用函数HostnameEnvironGetenvSetenvExitGetuidGetgidGetpidGetwdMkdirMkdirAllRemoveos/e...
    99+
    2023-05-19
    golang的os包用法 golang os包 golang os
  • Golang使用反射的动态方法调用详解
    Go是一种静态类型的语言,提供了大量的安全性和性能。静态类型的好处之一是,编译器可以在编译时捕获错误,防止在运行时发生。 在Go中,方法是用语法func(receiverName r...
    99+
    2023-03-14
    Golang反射动态方法调用 Golang反射动态方法 Golang反射
  • 在 Golang 中实现 Cache::remember 方法详解
    项目需要把部分代码移植到 Golang , 之前用 Laravel 封装的写起来很舒服,在 Golang 里只能自动动手实现. 一开始想的是使用 interface 实现,但是遇到了...
    99+
    2022-11-12
  • 详解JavaScript数组的常用方法
    目录数组的常用方法pop()unshift()shift()slice()splice()数组元素去重concat()join()reverse()sort()总...
    99+
    2022-11-12
  • 详解Python常用标准库之时间模块time和datetime
    目录time时间模块time -- 获取本地时间戳localtime -- 获取本地时间元组(UTC)gmtime -- 获取时间元组(GMT)mktime -- 时间元组获取时间戳...
    99+
    2022-11-11
  • SpringMVC中常用注解与使用方法详解
    MVC简介 MVC 全名是 Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写, 是一种用于设计创建 Web 应...
    99+
    2022-11-12
  • 详解Linux time 命令的使用
    1.命令简介 time 用于统计命令执行所消耗的时间及相关系统资源等信息。time 可以显示的资源有四大项,分别是: Time resources Memory resources IO resources Com...
    99+
    2022-06-03
    Linux time Linux time命令
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作