golang中日期操作之日期格式化及日期转换

2023-05-16

golang中并没有像java一样提供类似yyyy-MM-dd HH:mm:ss格式的操作,而是将其定义为golang的诞生时间:

2006-01-02 15:04:05 -0700 MST
注意这在golang的日期格式化里不是一个具体日期,而是格式,这样如果我们需要格式化日期,可以如下操作

timeNow := time.Now()
fmt.Println("yyyy-MM-dd HH:mm:ss" ,timeNow.Format("2006-01-02 15:04:05"))
// 打印: yyyy-MM-dd HH:mm:ss: 2022-05-11 14:24:19
接下来说下Time中的几个方法:

Time.Unix() 获取时间秒数,返回的是unix时间秒

fmt.Println("from 1970-01-01 to now seconds: ",int32(time.Now().Unix()))
Time.Date() 返回年月日:

year,month,day := timeNow.Date()
fmt.Println(year,month,day)
// 注意打印的是: 2022 May 11
Time.AddDate 时间增减:

timeLast := timeNow.AddDate(0,0,-1)
fmt.Println(timeLast.Format("2006-01-02 15:04:05"))
Time.Add 增加指定的时间,可以精确到纳秒

time2 := timeNow.Add(time.Duration(2000*time.Millisecond))
fmt.Println(time2.Format("2006-01-02 15:04:05"))
Time.After 是否在指定时间之后,如果是返回true Time.Before 是否在指定时间之前,如果是返回true time.Parse 按照指定格式将字符串转换为日期:

time2,err := time.Parse("2006-01-02 15:04:05","2022-05-11 15:04:05")
if err != nil {
	fmt.Println(err)
}
fmt.Println(time2.Format("2006-01-02 15:04:05"))
补充:go语言时间和日期的转化

go 语言中使用time.Time表示时间。我们可以通过time.Now函数获取当前的时间对象,然后从时间对象中可以获取到年、月、日、时、分、秒等信息。

package main

import (
    "fmt"
    "time"
)

func main() {
    t := time.Now() // 获取当前时间
    fmt.Printf("当前时间:%v\n", t)
    fmt.Println("年", t.Year())
    fmt.Println("月", t.Month())
    fmt.Println("日", t.Day())
    fmt.Println("时", t.Hour())
    fmt.Println("分", t.Minute())
    fmt.Println("秒", t.Second())
}
输出

当前时间:2022-05-19 21:38:39.7367663 +0800 CST m=+0.001805001年 2022月 May日 19 时 21 分 38

time 包中定义的时间间隔类型的常量如下:

const (
    Nanosecond  Duration = 1
    Microsecond          = 1000 * Nanosecond
    Millisecond          = 1000 * Microsecond
    Second               = 1000 * Millisecond
    Minute               = 60 * Second
    Hour                 = 60 * Minute
)
例如:time.Hour表示1小时,time.Second表示1秒。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

golang中日期操作之日期格式化及日期转换 的相关文章

  • 使用Docker registry镜像创建私有仓库

    2015 01 25 wcdj 摘要 安装Docker后 可以通过官方提供的registry镜像来简单搭建一套本地私有仓库环境 本文记录简单的搭建过程 1 使用registry启动私有仓库的容器 docker run d p 5000 50
  • Go的并发的退出

    有时候我们需要通知goroutine停止它正在干的事情 比如一个正在执行计算的web服务 然而它的客户端已经断开了和服务端的连接 Go语言并没有提供在一个goroutine中终止另一个goroutine的方法 由于这样会导致goroutin
  • 服务计算hw7

    任务目标 设计一个 web 小应用 展示静态文件服务 js 请求支持 模板输出 表单处理 Filter 中间件设计等方面的能力 不需要数据库支持 基本要求 支持静态文件服务 支持简单 js 访问 提交表单 并输出一个表格 对 unknown
  • golang之跨语言ipc通信

    1 golang之跨语言ipc通信 文章目录 1 golang之跨语言ipc通信 1 1 unix domain Socket unix域套接字 介绍 1 2 IPC SOCKET通信 1 2 1 函数及地址定义介绍 1 2 2 UNIX
  • go字符串详解

    文章目录 摘要 1 byte和rune类型 2 字符串 string 3 练习 反转字符串 摘要 go字符串结构体包含 指向底层存储数组的指针 字符串长度 字符串按utf 8将字符编码成二进制数 然后存储在byte数组中 因为utf 8编码
  • Go切片排序

    Go 语言标准库提供了sort包 用于对切片和用户定义的集合进行排序 具体示例如下 基本排序 package main import fmt sort func main float 从小到大排序 f float64 5 2 1 3 0 7
  • 权重实现随机抽奖

    一般抽奖是怎么实现的 在实习期间学会了一种通用的写法 在这里记录一下 最近在学Golang语法基础 这里就用Golang来写 package main import fmt time math rand func main r rand N
  • Golang连接Jenkins获取Job Build状态及相关信息

    文章目录 1 连接Jenkins 2 controller 3 module 4 router 5 效果展示 第三方包 gojenkins 方法文档 gojenkins docs 实现起来很简单 利用第三方库 连接jenkins 调用相关方
  • 【golang】error parsing regexp: invalid or unsupported Perl syntax (正则表达式校验密码)

    要在 Go 中编写密码校验规则 确保密码不少于8位且包含数字和字母 你可以使用正则表达式和 Go 的 regexp 包来实现 以下是一个示例代码 错误示范 package main import fmt regexp func valida
  • Go Web编程实战(10)----模板引擎库text/template包的使用

    目录 前言 模板引擎 定义模板文件 解析模板文件 渲染模板 实战使用模板 创建 tmpl文件 创建文件用于解析与渲染模板 前言 在Go语言中 模板引擎库text template包主要用于处理任意格式的文本内容 同时还提供了html tem
  • Go语言里面的各种疑难杂症

    什么是闭包 闭包有什么缺陷 func AddUpper func int int var n int 10 return func x int int n n x return n func main f AddUpper fmt Prin
  • Go中 Redis Client的使用

    文章目录 常见操作 List 操作 Pipeline 使用 在 Go 语言中使用 Redis 时 可以使用第三方库实现 Redis Client 的封装 本文介绍如何使用 Go 语言的 redisClient 去连接 Redis 服务器 并
  • 为什么最近听说 Go 岗位很少很难?

    大家好 我是煎鱼 其实这个话题已经躺在我的 TODO 里很久了 近来很多社区的小伙伴都私下来交流 也有在朋友圈看到朋友吐槽 Go 上海的大会没什么人 还不如 Rust 大会 比较尴尬 今天主要是看看为什么 Go 岗位看起来近来很难的样子 也
  • 【go语言开发】Minio基本使用,包括环境搭建,接口封装和代码测试

    本文主要介绍go语言使用Minio对象存储 首先介绍搭建minio 创建bucket等 然后讲解封装minio客户端接口 包括但不限于 上传文件 下载 获取对象url 最后测试开发的接口 文章目录 前言 Minio docker安装mini
  • go-zero 开发入门-加法客服端示例

    定义 RPC 接口文件 接口文件 add proto 的内容如下 syntax proto3 package add 当 protoc gen go 版本大于 1 4 0 时需加上 go package 否则编译报错 unable to d
  • go-zero开发入门-API网关开发示例

    开发一个 API 网关 代理 https blog csdn net Aquester article details 134856271 中的 RPC 服务 网关完整源代码 file main go package main import
  • go-zero开发入门之网关往rpc服务传递数据1

    go zero 的网关往 rpc 服务传递数据时 可以使用 headers 但需要注意前缀规则 否则会发现数据传递不过去 或者对方取不到数据 go zero 的网关对服务的调用使用了第三方库 grpcurl 入口函数为 InvokeRPC
  • Go 语言中切片的使用和理解

    切片与数组类似 但更强大和灵活 与数组一样 切片也用于在单个变量中存储相同类型的多个值 然而 与数组不同的是 切片的长度可以根据需要增长和缩小 在 Go 中 有几种创建切片的方法 使用 datatype values 格式 从数组创建切片
  • go开发--操作mysql数据库

    在 Go 中访问 MySQL 数据库并进行读写操作通常需要使用第三方的 MySQL 驱动 Go 中常用的 MySQL 驱动有 github com go sql driver mysql 和 github com go xorm xorm
  • 【go语言】结构体数据填充生成md错误码文件

    这里使用pongo2这个模版引擎库进行md文件渲染 GitHub flosch pongo2 Django syntax like template engine for Go package main import fmt github

随机推荐

  • R语言实战——距离判别、贝叶斯判别、Fisher判别理论详细推导与R语言实现

    文章目录 前言1 距离判别1 1 双群体1 1 1 理论推导1 1 2 R语言实现1 1 3 实例分析 1 2 多群体1 2 1 理论推导1 2 2 R语言实现1 2 3 实例分析 2 贝叶斯判别2 1 双群体2 1 1 理论推导2 1 2
  • R语言实战——主成分分析理论推导与R语言实现

    目录 1 总体主成分1 1 主成分的定义与导出1 2 主成分的性质1 3 从相关矩阵出发求主成分 2 样本主成分2 1 从S出发求主成分2 2 从R出发求主成分 3 相关的R函数以及实例3 1 96 princomp 96 函数3 2 96
  • GM(1,1)灰色预测及相关检验指标的MATLAB实现

    本篇文章的代码实现了以下三大方面的功能 xff1a 一 计算级比和光滑比并做级比检验 xff1b 二 序列的灰色预测 xff1b 三 精度检验 xff0c 主要做了以下内容 xff1a 相对残差Q检验 xff08 MAPE xff09 xf
  • R语言实战——ROC曲线的绘制

    前言 xff1a 以前使用Matlab绘制ROC曲线常常是工具箱有就画 xff0c 没有就不画 xff0c 而且在想画的时候工具箱恰恰就没有 xff0c 很纳闷 然后无意间发现了一篇用R语言绘制ROC曲线的文章 xff0c 赶紧学了并分享出
  • 含指数函数的不定积分方法归纳

    本篇博客参照了河北大学数计学院时坚所著的 含指数函数的不定积分方法归纳 xff0c 并在其基础上做了拓展 不定积分为数学分析中一类重要的内容 xff0c 其积分技巧和方法在几百年来一步步得到深入研究和探索 而含指数函数的不定积分为积分学中一
  • MybatisPlus自定义sql分页查询

    自定义sql分页的步骤 Dao层定义查询接口 xff0c 第一个参数必须为分页的参数Ipage xff0c 后面可带其他参数作为传入参数定义自定义查询sql 网上很多博客里面写的多表sql分页查询没带参数 xff0c 这里给一个带参数的列子
  • Error loading “D:\Coding\Anaconda\lib\site-packages\torch\lib\asmjit.dll“

    OSError WinError 126 The specified module could not be found Error loading 34 C Users chunc anaconda3 lib site packages
  • Python实战——VAE的理论详解及Pytorch实现

    参考的论文 xff1a Tutorial on Variational AutoencodersAuto Encoding Variational Bayes 建议参考的文章 xff1a Pytorch里的CrossEntropyLoss详
  • jupyter创建新环境与新kernel

    以下可以参照我的另一篇文章 xff1a Jupyter配置虚拟环境及安装Python包时遇到的问题 创建环境相关 span class token comment 创建环境相关 span span class token comment 创
  • 修改配置文件解决matplotlib中文与正负号乱码问题

    步骤如下 xff1a 1 找到配置文件matplotlibrc 不管是啥系统 xff0c 都可以通过以下方式查找matplotlibrc所在的文件夹 xff08 可以在终端或者编译器中运行以下代码 xff09 span class toke
  • ubuntu查看网络相关信息

    查看ip地址和网卡 xff1a ifconfig 需要确保下载了net tools xff1a sudo apt install net tools 查看DNS xff1a resolvectl status xff08 下图中DNS Se
  • lingo中@size@for@sum函数的使用

    64 size LINGO中的 64 size xff08 xff09 函数用于确定集合中元素的个数 比如你的集合是 注意 xff1a 在使用size的时候直接在 64 size 括号里写上集合名就行 xff0c 不需要写 64 size
  • windows ubuntu18.04 双系统共用蓝牙LE的鼠标

    由于由于双系统的缘故 xff0c 一个蓝牙鼠标并不能无缝的在ubuntu和windows之间切换 由于现在市场上很多是bluetooth LE鼠标 xff0c 所以网上的方法都会失效 这里以华为蓝牙鼠标为例 xff0c 给出一种可行的解决方
  • Apsara Clouder云计算专项技能认证:云服务器ECS入门

    1 xff0e 云服务器ECS以服务化的方式对客户提供 xff0c 阿里云产品售后支持的时间段是 xff1f 单选 A 5 8 B 7 8 C 7 12 D 7 24 2 xff0e 云服务器ECS属于云计算SaaS PaaS laaS哪一
  • Anaconda 下载

    官方下载源 xff08 下载较慢 xff09 xff1a https repo anaconda com archive https repo anaconda com archive 国内下载源 xff08 清华映像站 xff09 xff
  • dpkg: 处理软件包 XXXX (--configure)时出错解决方法

    正在设置 ubuntu drivers common 1 0 4 17 7 var lib dpkg info ubuntu drivers common postinst 21 var lib dpkg info ubuntu drive
  • k8s资源调度

    k8s资源调度 文章目录 k8s资源调度nodeSelectornodeAffinitytainttolerations k8s基本架构如下 Scheduler调度器做为Kubernetes三大核心组件之一 xff0c 承载着整个集群资源的
  • maskrcnn训练自己的数据集报错:ModuleNotFoundError: No module named ‘cityscapesscripts‘

    原因是需要安装cityscapesscripts xff0c 安装地址 xff1a https github com mcordts cityscapesScripts xff0c clone下来之后安装上面的说明进行install pyt
  • 选择排序详解

    选择排序详解 文章目录 选择排序详解1 选择排序算法详解1 药引子 我自己的排序方法2 命根子 选择排序的精髓3 选择排序图解4 总结 2 选择排序的代码详解 摘要 xff1a 选择排序算法是一种比较容易理解的排序算法 xff0c 记得我在
  • golang中日期操作之日期格式化及日期转换

    golang中并没有像java一样提供类似yyyy MM dd HH mm ss格式的操作 xff0c 而是将其定义为golang的诞生时间 xff1a 2006 01 02 15 04 05 0700 MST 注意这在golang的日期格