时间戳与时间格式相互转化 例一

// 时间戳转时间
str_time := time.Unix(1617279282,0).Format("2006-01-02 15:04:05") // 时间转时间戳
local, err := time.LoadLocation("Asia/Shanghai") //设置时区
if err != nil {
return 0, err
}
tt, err := time.ParseInLocation("2006-01-02 15:04:05", "2021-04-01 20:14:41", local)
if err != nil {
return 0, err
}
timeUnix := tt.Unix() // 设置时区,获取当前时间
l,_ := time.LoadLocation("Asia/Shanghai")
fmt.Println(time.Now().In(l).Unix())

时间戳与时间格式相互转化 例二

//将指定时间转为时间戳格式
beforetime := "2020-04-08 00:00:00" //待转化为时间戳的字符串
timeLayout := "2006-01-02 15:04:05" //转化所需模板
loc := time.Now().Location() //获取时区
theTime, _ := time.ParseInLocation(timeLayout, beforetime, loc) //使用模板在对应时区转化为time.time类型
aftertime := theTime.Unix() //转化为时间戳 类型是int64
fmt.Println(theTime) //打印输出theTime 2020-04-08 00:00:00 +0800 CST
fmt.Println(aftertime) //打印输出时间戳 1586275200 //再将时间戳转换为日期
dataTimeStr := time.Unix(aftertime, 0).Format(timeLayout) //设置时间戳 使用模板格式化为日期字符串
fmt.Println(dataTimeStr)

格式化时间

t:= time.Now()

s := t.Format("2006-1-2 15:04:05")
fmt.Println(s) //打印出的格式就是当前的时间 2020-3-31 23:08:35 s := t.Format("2006/1/2")
fmt.Println(s) //打印出的格式就是当前的年月日 2020/3/31

以上的时间格式都是time.Time类型的数据,如果将string类型的字符串时间转为具体时间格式则用time包下的parse函数。

//字符串类型的时间
str := "2020年3月31日"
//第一个参数是模板,第二个是要转换的时间字符串
s, _ := time.Parse("2006年1月2日", str)
fmt.Println(s) //打印出的格式就是2020-03-31 00:00:00 +0000 UTC
//获取年月日信息
year, month, day := time.Now().Date()
fmt.Println(year, month, day) //2020 March 31 //获取时分秒信息
hour, minute, second := time.Now().Clock()
fmt.Println(hour, minute, second) //23 23 54 //获取今年过了多少天了
tday := time.Now().YearDay()
fmt.Println(tday) //91 (今年已经过了91天了) //获取今天是星期几
weekday := time.Now().Weekday()
fmt.Println(weekday) //Tuesday

获取时间戳

//获取指定日期的时间戳
t := time.Date(2020, 3, 31, 23, 30, 0, 0, time.UTC)
timestamp := t.Unix()
fmt.Println(timestamp) //1585697400 //获取当前时间的时间戳
timestamp2 := time.Now().Unix()
fmt.Println(timestamp2) //1585669151 //当前时间的以纳秒为单位的时间戳
timestamp3 := time.Now().UnixNano()
fmt.Println(timestamp3) //1585669151296330900

时间计算、获取指定前后时间

//时间间隔 相加
now := time.Now()
//当前时间加上一分钟
t := now.Add(time.Minute)
fmt.Println(now) //2020-03-31 23:43:35.0004791 +0800 CST m=+0.002999201
fmt.Println(t) //2020-03-31 23:44:35.0004791 +0800 CST m=+60.002999201 //计算两个时间的间隔
d := t.Sub(now)
fmt.Println(d) //1m0s 相差一分钟 //当前时间的前一天时间
d1 := time.Now().Add(-24 * time.Hour).Format("2006-01-02 15:04:05") //当前时间的前一年的后两个的前三天
d2 := time.Now().AddDate(-1, 2, -3).Format("2006-01-02 15:04:05") fmt.Printf("d1 = %v ; d2 = %v\n", d1, d2) //d1 = 2021-11-24 18:27:47 ; d2 = 2021-01-22 18:27:47 var tt int64 = 1617120000
ts := time.Unix(tt, 0)
// AddDate(年,月,日)
tst := ts.AddDate(1, 1, 1)
// 1651420800
fmt.Println(tst.Unix())

UTC时间转标准时间

//UTC时间转标准时间
func (this *DataSearch) UTCTransLocal(utcTime string) string {
t, _ := time.Parse("2006-01-02T15:04:05.000+08:00", utcTime)
return t.Local().Format("2006-01-02 15:04:05")
} t1 := UTCTransLocal("2021-04-29T14:11:08.000+08:00")
fmt.Println(t1) // 2021-04-29 22:11:08

标准时间转UTC时间

//标准时间转UTC时间
func (this *DataSearch) LocalTransUTC(localTime string) string {
t, _ := time.ParseInLocation("2006-01-02 15:04:05", localTime, time.Local)
return t.UTC().Format("2006-01-02T15:04:05.000+08:00")
} t2 := LocalTransUTC("2021-04-29 22:11:08")
fmt.Println(t2) // 2021-04-29T14:11:08.000+08:00

go time时间格式化的更多相关文章

  1. strftime 日期时间格式化

    strftime() 函数根据区域设置格式化本地时间/日期,函数的功能将时间格式化,或者说格式化一个时间字符串. size_t strftime(char *strDest,size_t maxsiz ...

  2. javascript 时间格式化

    添加扩展 //时间格式化扩展Date.prototype.format = function(format){ var o = { "M+" : this.getMonth()+1 ...

  3. js时间格式化

    const formatDate = timestamp => { const date = new Date(timestamp); const m = date.getMonth() + 1 ...

  4. js对特殊字符转义、时间格式化、获取URL参数

    /*特殊字符转义*/ function replace_html(str) { var str = str.toString().replace(/&/g, "&" ...

  5. 特殊字符转义&时间格式化&获取URL参数

    /*特殊字符转义*/ function htmlspecialchars (str) { var str = str.toString().replace(/&/g, "&& ...

  6. 【AspNetCore】【WebApi】扩展Webapi中的RouteConstraint中,让DateTime类型,支持时间格式化(DateTimeFormat)

    扩展Webapi中的RouteConstraint中,让DateTime类型,支持时间格式化(DateTimeFormat) 一.背景 大家在使用WebApi时,会用到DateTime为参数,类似于这 ...

  7. EasyUI Datagrid Datetime(EasyUI DataGrid 时间格式化)

    EasyUI DataGrid 时间格式化 方法一: var Common = { //EasyUI用DataGrid用日期格式化 TimeFormatter: function (value, re ...

  8. js Date 时间格式化的扩展

    js Date 时间格式化的扩展: Date.prototype.format = function (fmt) { var o = { , //月 "d+": this.getD ...

  9. SqlServer时间格式化

    最近用的SqlServer比较多,时间格式化老是忘记,现整理如下:(来源于网上,具体来源地址忘记了,归根到底MSDN吧) SELECT CONVERT(varchar(50), GETDATE(), ...

  10. js时间格式化(yy年MM月dd日 hh:mm)

    //时间格式化 Date.prototype.format = function (format) { var o = { "M+": this.getMonth() + 1, / ...

随机推荐

  1. Qt编写的项目作品14-智能安防集中管理平台

    一.功能特点 同时集成了楼宇对讲.住户报警.门禁控制.公共报警.视频监控等模块. 系统管理部分包括系统配置.对讲配置.住户配置.公共配置.监控配置.地图管理.视频联动.用户管理.区域管理. 图形化的实 ...

  2. Qt音视频开发39-人脸识别在线版

    一.前言 关于人脸识别这块,前些年不要太火,哪怕是到了今天依然火的一塌糊涂,什么玩意都要跟人脸识别搭个边,这东西应该只是人工智能的一个很小的部分,人脸识别光从字面上理解就是识别出人脸区域,其实背后真正 ...

  3. Qt编写安防视频监控系统31-onvif设备搜索

    一.前言 做视频监控系统,绕不过onvif这玩意,这玩意主要就是为了统一一个大概的标准,能够对各个厂家的监控设备进行常用的一些操作,比如搜索.获取信息.云台控制.事件订阅.抓拍图片等,如果没有这个规范 ...

  4. C# 读取本地的TXT文件内容

    using (StreamReader streamReader = new StreamReader("C:\\Users\\zhang\\Desktop\\新建文件夹\\远程开关.txt ...

  5. [转]【Qt-license】误操作qt下载导致只能安装商业版试用十天,无法安装社区版

    背景:原本是为了学习qml,需要下载一个design studio,而这个需要比较新版的安装程序,但新版的安装程序官方都是online安装.于是从官网找下载链接.毕竟是英文的,又心急,误打误撞中我选择 ...

  6. [转]CLion 2019去掉灰色参数提示(parameters hints)

    众所周知,clion是一个很好用的c plus plus IDE,刚装好的clion默认的设置多少有一些不符合口味的地方,在查看代码或者敲代码的时候看到如下这样的灰色提示,我是有点受不了的: 之前用的 ...

  7. 在命令中输入信息创建maven项目

    参考链接: 1.使用命令行创建maven web项目 2.Maven 三种archetype说明 3.maven创建项目时在generating project in interactive mode ...

  8. eclipse中汉字横着的问题解决

    最近在eclipse中加上中午注释,出现那种汉字是横着的情况,解决方案如下: 方法一: 同一种字体有两种显示方式,比如Fixedsys Excelsior 3.01和@Fixedsys Excelsi ...

  9. clip-retrieval检索本地数据集

    clip-retrieval检索本地数据集 from clip_retrieval.clip_client import ClipClient, Modality from tqdm import t ...

  10. 彻底讲透Spring Bean生命周期,源码深度剖析!

    前言本篇文章主要是要介绍如何在Spring IoC 容器中 如何管理Spring Bean生命周期. 在应用开发中,常常需要执行一些特定的初始化工作,这些工作都是相对比较固定的,比如建立数据库连接,打 ...