golang中的时间格式化
作者:@航空母舰 发布时间:2024-04-25 15:29:58
golang时间格式化
科普 CST 含义
CST: 中部标准时间 (Central Standard Time) 同时表示下面4个时区
CST Central Standard Time(USA) UT-6:00 CST Central Standard Time(Australia) UT 9:30 CST China Standard Time UT 8:00 CST Cuba Standard Time UT-4:0
我们常遇到的应该就是 China Standard Time.
GMT 和 UTC 的关系
UTC (Universal Time Coordinated), 以子午初线(经度0)上的评价太阳时为依据, 也就是英国伦敦的平均太阳时
GMT (Greenwitch Mean Time) 格林威治平均时间, 由于地球绕太阳的运行的轨道是椭圆, 导致 UTC 表示的时间, 不是很准确, 因此提出了 GMT 时间, 每年或者2年对 UTC 增加一个闰秒, 来完成修正. 一般上我们可以认为 GMT 和 UTC 是一样的.
golang 的时间 认准 "2006-1-2 15:04:05.000 PM Mon Jan GMT " 去格式化就可以了。
也就是1234567,分别对应:月日时分秒年 时差,很好记忆。
只是稍微注意一下:
月:01或Jan都可以
小时:03表示12小时制,15表示24小时制。
时差:是 -07 ,不是 07,后边可以增加“00”或“:00”,表示更进一步的分秒时差。
上下午:使用PM,不是AM。
摆放顺序:随意,甚至重复都可以。源代码包也有定义的常用格式供使用。
package main
import (
"fmt"
"time"
)
func main() {
timeNow := time.Now()
fmt.Println(timeNow.Format("2006-01-02 15:04:05")) // 2022-4-18 14:20:45
fmt.Println(timeNow.Format("2006/01/02")) // 2021/06/25
// 获取当前时间戳
fmt.Println(time.Now().Unix())
// 指定的时间进行格式化
fmt.Println(time.Unix(1650263305, 0).Format("2006-01-02 15:04:05"))
//24小时之内的时间计算 ParseDuration
//1小时1分1s之前
t1, _ := timeNow.ParseDuration("-1h1m1s")
fmt.Println(t1)
m1 := curtime.Add(t1)
fmt.Println(m1)
//24小时之外的时间计算
beforeDay := timeNow.AddDate(0, 0, -1) // 三个参数分别是年月日,此处获取的是前一天的日期
beforeMonth := timeNow.AddDate(0, -1, 0) // 前一个月的日期
beforeYear := timeNow.AddDate(-1, 0, 0) // 去年的当天日期
fmt.Println(beforeDay)
fmt.Println(beforeMonth)
fmt.Println(beforeYear)
fmt.Println(beforeDay.Format("2006-01-02 15:04:05"))
//24小时
fmt.Println(timeNow.Format("2006-1-2 15:04:05.000 PM Mon Jan")) // 2021-6-25 10:59:05.410 AM Fri Jun
fmt.Println(timeNow.Format("2006/01/02 15:04")) // 2021/06/25 10:59
fmt.Println(timeNow.Format("2006-1-2 15:04:05.000")) // 2021-6-25 10:59:05.410
fmt.Println(timeNow.Format("Mon, 02 Jan 2006 15:04:05 GMT")) // Fri, 25 Jun 2021 10:59:05 GMT
// 12小时制
fmt.Println(timeNow.Format("2006-01-02 03:04:05.000 PM Mon Jan")) // 2021-06-25 10:59:05.410 AM Fri Jun
fmt.Println(timeNow.Format("15:04 2006/01/02")) // 10:59 2021/06/25
}
golang 格式化时间 yyyy-MM-dd
固定值
time := "2006-01-02 15:04:05";
20060102:得到的是yyyyMMdd。
2006/01/02 15:04:得到的是yyyy/MM/dd HH:mm
2006年01月02日 15点04分05秒:得到的是yyyy年MM月dd日 HH点mm分SS秒
由来
2006为Golang诞生时间,15是下午3点。
帮助记忆的方法:1月2日3点4分5秒,2006年,-7时区,正好是1234567。
来源:https://blog.csdn.net/hudeyong926/article/details/124248713


猜你喜欢
- 在前端开发中,拖拽排序是一种提升用户体验非常好的方式,常见的场景有单列表拖拽排序,多列表拖拽交换排序,比如以下这种效果: 下面将以
- 普通爬虫正常流程:数据来源分析发送请求获取数据解析数据保存数据环境介绍python 3.8pycharm 2021专业版【付费VIP完整版】
- 实践是检验真理的唯一途径,本篇只是站在索引使用的全局来定位的,你只需要通读全篇并结合具体的例子,或回忆以往使用过的地方,对整体有个全面认识,
- 来自Six Revisions的一篇文章,作者对一些主流的浏览器进行了测试比较,测试主要针对以下几个方面进行:1.JavaScript执行速
- 今天写了一个java项目连接数据库,之后写了一个执行入库操作的模块。此时暴露出一个问题就是项目的中文插入到数据库时会是乱码:项目输出的中文:
- 一、创建一个项目如果这是你第一次使用Django,那么你必须进行一些初始设置。也就是通过自动生成代码来建立一个Django项目--一个Dja
- elasticsearch 的client ,通过 NewClient 建立连接,通过 NewClient 中的 Set.URL设置访问的地
- 两张表,A表中的记录B表中不一定有。左连接:关注左边,右边没有就为空。右连接:关注右边,左边没有就为空。内连接:返回交集例如:student
- 关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码。这样并不利于初学者的学习,希望这篇文章可以更通
- PyQt5 Qt Designer (Qt设计师)PyQt5是对Qt所有类进行封装, Qt能开发的东西, PyQt都能开发.Qt是强大的GU
- 1) chocolatappChocolat是最新出现的一款强大的Mac系统文本编辑器,兼具原生的Cocoa及强大的文本编辑功能。Choco
- OCR of Hand-written Data using kNNOCR of Hand-written Digits我们的目标是构建一个
- 本文实例讲述了JavaScript观察者模式原理与用法。分享给大家供大家参考,具体如下:观察者模式观察者模式又叫发布订阅模式(Publish
- python爬虫是程序员们一定会掌握的知识,练习python爬虫时,很多人会选择爬取微博练手。python爬虫微博根据微博存在于不同媒介上,
- 今天来认识一下两个我不太常用到的html标签:sub标记和sup标记。定义和用法:<sub> 标签可定义下标文本。<sup
- 在MySQL数据库中导出整个数据库:1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldu
- 1、fit和fit_generator的区别首先Keras中的fit()函数传入的x_train和y_train是被完整的加载进内存的,当然
- HTML文档与CSS的关联常见有4种方式:1.使用link标记<link rel="stylesheet"
- python urllib urlopen()对象方法/代理的补充说明urllib 是 python 自带的一个抓取网页信息一个接口,他最主
- 前言责任链模式(Chain of Responsibility Pattern)是什么?责任链模式是一种行为型模式,它允许多个对象将请求沿着