使用golang语言怎么将时间字符串与时间戳进行转换
创始人
2024-12-26 19:42:32
0次

1. 获取当前时间字符串和时间戳

package main
import (
  "fmt"
  "time"
)
func main() {
  now := time.Now().UTC()
  // 显示时间格式: UnixDate = "Mon Jan _2 15:04:05 MST 2006"
  fmt.Printf("%s\n", now.Format(time.UnixDate))
  // 显示时间戳
  fmt.Printf("%ld\n", now.Unix())
  // 显示时分:Kitchen = "3:04PM"
  fmt.Printf("%s\n", now.Format("3:04PM"))
}

更多时间格式

const (
    ANSIC    = "Mon Jan _2 15:04:05 2006"
    UnixDate  = "Mon Jan _2 15:04:05 MST 2006"
    RubyDate  = "Mon Jan 02 15:04:05 -0700 2006"
    RFC822   = "02 Jan 06 15:04 MST"
    RFC822Z   = "02 Jan 06 15:04 -0700" // RFC822 with numeric zone
    RFC850   = "Monday, 02-Jan-06 15:04:05 MST"
    RFC1123   = "Mon, 02 Jan 2006 15:04:05 MST"
    RFC1123Z  = "Mon, 02 Jan 2006 15:04:05 -0700" // RFC1123 with numeric zone
    RFC3339   = "2006-01-02T15:04:05Z07:00"
    RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
    Kitchen   = "3:04PM"
    // Handy time stamps.
    Stamp   = "Jan _2 15:04:05"
    StampMilli = "Jan _2 15:04:05.000"
    StampMicro = "Jan _2 15:04:05.000000"
    StampNano = "Jan _2 15:04:05.000000000"
)

2. 时间字符串解析成时间格式

package main
import (
  "fmt"
  "time"
)
func main() {
  timeStr := "2018-01-01"
  fmt.Println("timeStr:", timeStr)
  t, _ := time.Parse("2006-01-02", timeStr)
  fmt.Println(t.Format(time.UnixDate))
}

3. 获取当天零点时间戳

方法1

package main
import (
  "fmt"
  "time"
)
func main() {
  timeStr := time.Now().Format("2006-01-02")
  t, _ := time.Parse("2006-01-02", timeStr)
  fmt.Println(t.Format(time.UnixDate))
  //Unix返回早八点的时间戳,减去8个小时
  timestamp := t.UTC().Unix() - 8*3600
  fmt.Println("timestamp:", timestamp)
}

方法2

package main
import (
  "fmt"
  "time"
)
func main() {
  now := time.Now()
  t, _ := time.ParseInLocation("2006-01-02", now.Format("2006-01-02"), time.Local)
  timestamp := t.Unix()
  fmt.Println(timestamp)
}
/*
time.Local本地时区
  var Local *Location = &localLoc
以及UTC时区
  var UTC *Location = &utcLoc
还可以替换成指定时区
  //func LoadLocation(name string) (*Location, error)
  loc, _ := time.LoadLocation("Europe/Berlin")
If the name is "" or "UTC", LoadLocation returns UTC. If the name is "Local", LoadLocation returns Local.
*/

补充:Golang中获取当天0点的格式化时间

如下所示:

EndDateLimit := time.Now().Format("2006-01-02 00:00:00")

取当天某个整点的时间戳

now := time.Now().Unix()
muteEndTime := time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), 8, 0, 0, 0, time.Local).Unix()
muteStartTime := time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), 22, 0, 0, 0, time.Local).Unix()

本地当前时间戳(10位)

fmt.Println(time.Now().Unix()) //1468479251

本地当前时间戳(19位)

fmt.Println(time.Now().UnixNano()) //1468480006774460462

时间戳转时间

fmt.Println(time.Unix(1389058332, 0).Format("2006-01-02 15:04:05")) //2014-01-07 09:32:12

时间转时间戳

fmt.Println(time.Date(2014, 1, 7, 5, 50, 4, 0, time.Local).Unix())

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...