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中日期操作之日期格式化及日期转换 的相关文章

  • 【Golang入门】Golang第一天心得

    生活所迫 入门一下Go 很奇葩的第一点 接口 package main import fmt 定义一个接口 type Shape interface Area float64 定义一个矩形类型 type Rectangle struct W
  • 七. go 常见数据结构实现原理之 反射

    目录 一 golang 是如何实现反射的 如何比较两个对象完全相等 一 golang 是如何实现反射的 参考博客Go 语言问题集 Go Questions Go 语言在 reflect 包里定义了各种类型 实现了反射的各种函数 通过它们可以
  • Go开发命令行程序指南

    近期在Twitter上看到一个名为 Command Line Interface Guidelines 的站点 1 这个站点汇聚了帮助大家编写出更好命令行程序的哲学与指南 这份指南基于传统的Unix编程原则 2 又结合现代的情况进行了 与时
  • golang sleep

    golang的休眠可以使用time包中的sleep 函数原型为 func Sleep d Duration 其中的Duration定义为 type Duration int64 Duration的单位为 nanosecond 为了便于使用
  • go语言基础-----03-----流程控制、函数、值传递、引用传递、defer函数

    1 流程控制 这里只讲 for range 语句 这个关键字 主要用于遍历 用来遍历数组 slice map chan 例如 package main import fmt func main str hello world 中国 for
  • 权重实现随机抽奖

    一般抽奖是怎么实现的 在实习期间学会了一种通用的写法 在这里记录一下 最近在学Golang语法基础 这里就用Golang来写 package main import fmt time math rand func main r rand N
  • Qt webengine 显示web页面、前后端通信以及下载详解

    概述 官方文档 https doc qt io archives qt 5 11 qtwebengine overview html 翻译文档 Qt5 9 WebEngine 概述 一花一世界 一叶一乾坤 博客园 从Qt5 5开始 Qt W
  • Go语言包管理(一)

    Go语言中的包 我们在使用其他语言 比如Java Python 都有类似包的概念 Go也不例外 其核心思想即为分组和模块化 人的大脑对庞大和复杂的事情很难掌控 可以对其采用分而治之的策略 使其模块化 从而更容易管理 如下是标准库中net包的
  • Go_接口、多态、接口继承、空接口、类型断言

    接口 接口是把所有具有共性的方法定义在一起 是方法集 任何类型实现了接口中所有的方法 就是实现了这个接口 接口可以实现多态 接口传递的是地址值 接口定义及调用 定义格式 tepe 接口名 interface 方法名 参数 返回值 调用格式1
  • Go 语言注释教程

    注释是在执行时被忽略的文本 注释可用于解释代码 使其更易读 注释还可用于在测试替代代码时防止代码执行 Go支持单行或多行注释 Go单行注释 单行注释以两个正斜杠 开头 在 和行尾之间的任何文本都将被编译器忽略 不会被执行 示例 This i
  • 【go语言开发】编写单元测试

    本文主要介绍使用go语言编写单元测试用例 首先介绍如何编写单元测试 然后介绍基本命令的使用 最后给出demo示例 文章目录 前言 命令 示例 前言 在go语言中编写单元测试时 使用说明 测试文件命名 在 Go 语言中 测试文件的命名应与被测
  • go-zero开发入门之网关往rpc服务传递数据2

    go zero 的网关服务实际是个 go zero 的 API 服务 也就是一个 http 服务 或者说 rest 服务 http 转 grpc 使用了开源的 grpcurl 库 当网关需要往 rpc 服务传递额外的数据 比如鉴权数据的时候
  • go-zero开发入门-API网关开发示例

    开发一个 API 网关 代理 https blog csdn net Aquester article details 134856271 中的 RPC 服务 网关完整源代码 file main go package main import
  • GoLong的学习之路,进阶,微服务之序列化协议,Protocol Buffers V3

    这章是接上一章 使用 RPC包 序列化中没有详细去讲 因为这一块需要看的和学习的地方很多 并且这一块是RPC中可以说是最重要的一块 也是性能的重要影响因子 今天这篇主要会讲其使用方式 文章目录 Protocol Buffers V3 背景以
  • go开发--操作mysql数据库

    在 Go 中访问 MySQL 数据库并进行读写操作通常需要使用第三方的 MySQL 驱动 Go 中常用的 MySQL 驱动有 github com go sql driver mysql 和 github com go xorm xorm
  • go开发--操作mysql数据库

    在 Go 中访问 MySQL 数据库并进行读写操作通常需要使用第三方的 MySQL 驱动 Go 中常用的 MySQL 驱动有 github com go sql driver mysql 和 github com go xorm xorm
  • [每周一更]-(第55期):Go的interface

    参考地址 https juejin cn post 6978322067775029261 https gobyexample com interfaces https go dev tour methods 9 介绍下Go的interfa
  • 这套Go语言开发框架组合真的非常高效

    我尝试过很多框架 从Django Flask和Laravel到NextJS和SvelteKit 到目前为止 这是我唯一可以使用的不会让我感到疯狂或者放弃项目的堆栈 框架 我喜欢所有这些框架 但我只是不太适应它们的设计方式 实际上 我是一个弱
  • golang 生成一年的周数

    GetWeekTimeCycleForGBT74082005 获取星期周期 中华人民共和国国家标准 GB T 7408 2005 参数 year 年份 GB T 7408 2005 func GetWeekTimeCycleForGBT74
  • go cannot find package “github.com/gorilla/websocket“解读

    Go无法找到包 github com gorilla websocket 的解决方案 在Go开发过程中 我们经常会依赖第三方库来简化开发工作 而使用 go get 命令安装这些库时 有时候我们可能会遇到类似于以下错误的情况 plaintex

随机推荐

  • 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的日期格