当前位置:首页 > 文章列表 > Golang > Go教程 > Golang中使用Date进行日期格式化(沿用Java风格)

Golang中使用Date进行日期格式化(沿用Java风格)

来源:脚本之家 2023-01-08 15:05:40 0浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《Golang中使用Date进行日期格式化(沿用Java风格)》,主要介绍了日期格式化,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

本文介绍了Golang中使用Date进行日期格式化,分享给大家,具体如下:

Github
https://github.com/noogo/date

Date

Date是一个基于time包装的一个日期包,通过此包可以快速创建日期、获取时间戳、毫秒数及最重要的日期格式化,另外你还可以继续使用time包下的所有函数(除time.Foramt(string)外)你可以通过以下方法快速创建一个Date对象:

  • Now()
  • WithTime(t time.Time)
  • WithTimestamp(timestamp int64)
  • WithMillisecond(millisecond int64)
  • WithDate(year, month, date, hour, minute, second int)

Note:你可以通过Date.Format(String,...bool)方法来对日期进行格式化,日期格式化是按照Java风格实现的,免去了Golang中非常规的格式化方法,这对我们使用日期格式化增加了很大的便利,以下问Java日期格式化参考表:

字母 日期或时间元素 表示 示例
G Era 标志符 Text AD
y Year 1996; 96
M 年中的月份 Month July; Jul; 07
w 年中的周数 Number 27
W 月份中的周数 umber 2
D 年中的天数 Number 189
d 月份中的天数 umber 10
F 月份中的星期 umber 2
E 星期中的天数 ext Tuesday; Tue v
a Am/pm 标记 Text PM
H 一天中的小时数(0-23) umber 0
k 一天中的小时数(1-24) umber 24
K am/pm 中的小时数(0-11) umber 0
h am/pm 中的小时数(1-12) umber 12
m 小时中的分钟数 umber 30
s 分钟中的秒数 umber 55
S 毫秒数 Number 978
z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
Z 时区 RFC 822 time zone -0800

开始

获取Date

go get -u github.com/noogo/date

使用Date

// get date
d:=date.Now()
//d:=date.WithTime(time.Now())
//d:=date.WithTimestamp(1586448000)
//d:=date.WithMillisecond(1586448000000)
//d:=date.WithDate(2020,04,29,0,0,0)
// get milliseconds
//milliseconds:=date.Millisecond()
// get timestamp
//timestamp:=date.Timestamp()
// date format
ret,err:=d.Format("yyyy-MM-dd HH:mm:ss EEEE",true)
if err!=nil{
  log.Fatalln(err)
}
fmt.Println(ret)

运行结果

2020-04-29 00:13:12 星期三

格式化说明

  • G:保留字段,不支持格式化
  • 年:当y的连续个数小于4时则显示缩写后的年,如2008,则会格式化为08
  • 月:当M的连续个数大于3时则显示英文单词月份,如果等于3则显示英文单词缩写,否则显示数字月份,位数不足用0填充。
  • 对于表格中表示类型为Number类型的按照统一规则显示对应数值,其余多余的格式化字符用0填充,假如当前时间为2020年1月1日,08时08分08秒,那么mm格式化后的分钟则为08,mmm格式化后的分钟则为008依次类推
  • 如果Date.Format(string,...bool)中第二个参数传true,代表中文模式,此参数控制am/pm及星期数,对应会被格式化为上午/下午和星期一格式。

格式化参结果

令:当前日期为2008-08-18 18:28:38.888

layout result
y 08
yy 08
yyy 08
yyyy 2008
yyyyy 2008
M 08
MM 08
MMM Aug
MMMM August
MMMMM August
w 34
ww 34
www 034
wwww 0034
wwwww 00034
W 4
WW 04
WWW 004
WWWW 0004
WWWWW 00004
D 231
DD 231
DDD 231
DDDD 0231
DDDDD 00231
d 18
dd 18
ddd 018
dddd 0018
ddddd 00018
F 3
FF 03
FFF 003
FFFF 0003
FFFFF 00003
E 星期一(chinese)
EE 星期一(chinese)
EEE 星期一(chinese)
EEEE 星期一(chinese)
EEEEE 星期一(chinese)
a 下午(chinese)
aa 下午(chinese)
aaa 下午(chinese)
aaaa 下午(chinese)
aaaaa 下午(chinese)
E 1(standard)
EE 01(standard)
EEE Mon(standard)
EEEE Monday(standard)
EEEEE Monday(standard)
a PM(standard)
aa PM(standard)
aaa PM(standard)
aaaa PM(standard)
aaaaa PM(standard)
H 18
HH 18
HHH 018
HHHH 0018
HHHHH 00018
k 18
kk 18
kkk 018
kkkk 0018
kkkkk 00018
K 6
KK 06
KKK 006
KKKK 0006
KKKKK 00006
h 6
hh 06
hhh 006
hhhh 0006
hhhhh 00006
m 28
mm 28
mmm 028
mmmm 0028
mmmmm 00028
s 38
ss 38
sss 038
ssss 0038
sssss 00038
S 888
SS 888
SSS 888
SSSS 0888
SSSSS 00888
z CST
zz CST
zzz CST
zzzz CST
zzzzz CST
Z +0800
ZZ +0800
ZZZ +0800
ZZZZ +0800
ZZZZZ +0800

今天带大家了解了日期格式化的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

版本声明
本文转载于:脚本之家 如有侵犯,请联系study_golang@163.com删除
Golang Map实现赋值和扩容的示例代码Golang Map实现赋值和扩容的示例代码
上一篇
Golang Map实现赋值和扩容的示例代码
golang文件服务器的两种方式(可以访问任何目录)
下一篇
golang文件服务器的两种方式(可以访问任何目录)
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    508次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    497次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • 茅茅虫AIGC检测:精准识别AI生成内容,保障学术诚信
    茅茅虫AIGC检测
    茅茅虫AIGC检测,湖南茅茅虫科技有限公司倾力打造,运用NLP技术精准识别AI生成文本,提供论文、专著等学术文本的AIGC检测服务。支持多种格式,生成可视化报告,保障您的学术诚信和内容质量。
    18次使用
  • 赛林匹克平台:科技赛事聚合,赋能AI、算力、量子计算创新
    赛林匹克平台(Challympics)
    探索赛林匹克平台Challympics,一个聚焦人工智能、算力算法、量子计算等前沿技术的赛事聚合平台。连接产学研用,助力科技创新与产业升级。
    50次使用
  • SEO  笔格AIPPT:AI智能PPT制作,免费生成,高效演示
    笔格AIPPT
    SEO 笔格AIPPT是135编辑器推出的AI智能PPT制作平台,依托DeepSeek大模型,实现智能大纲生成、一键PPT生成、AI文字优化、图像生成等功能。免费试用,提升PPT制作效率,适用于商务演示、教育培训等多种场景。
    57次使用
  • 稿定PPT:在线AI演示设计,高效PPT制作工具
    稿定PPT
    告别PPT制作难题!稿定PPT提供海量模板、AI智能生成、在线协作,助您轻松制作专业演示文稿。职场办公、教育学习、企业服务全覆盖,降本增效,释放创意!
    53次使用
  • Suno苏诺中文版:AI音乐创作平台,人人都是音乐家
    Suno苏诺中文版
    探索Suno苏诺中文版,一款颠覆传统音乐创作的AI平台。无需专业技能,轻松创作个性化音乐。智能词曲生成、风格迁移、海量音效,释放您的音乐灵感!
    57次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码