亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 MySQL 日期時間字符串轉換為 time.Time 格式

將 MySQL 日期時間字符串轉換為 time.Time 格式

Go
拉風的咖菲貓 2021-12-06 14:56:46
我只是無法將 SQL 日期時間 (MySQL) 值解析為一個time.Time值。我找不到適合 sql datetime 的布局。而且也不太明白這是如何工作的。我確實想象我不是第一個為此而苦苦掙扎的人,盡管我真的找不到我應該如何完成這項工作。輸入:2015-12-23 00:00:00期望的輸出:1450825200代碼time, err := time.Parse(time.SomeSqlDateTimeLayout, "2015-12-23 00:00:00")timestamp := time.Unix()
查看完整描述

2 回答

?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

如果標準庫中不存在時間格式,您可以創建自己的時間格式進行解析。


package main


import (

    "fmt"

    "time"

)


func main() {

    layout := "2006-01-02 15:04:05"

    str := "2015-12-23 00:00:00"

    t, err := time.Parse(layout, str)


    if err != nil {

        fmt.Println(err)

    }

    fmt.Println(t.Unix())

}

輸出


1450828800

我不知道時間格式的官方文檔是什么,但你可以在這里找到它,從第 64 行開始。


查看完整回答
反對 回復 2021-12-06
?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

事實上,我不知道 Go 的標準庫中有任何 ISO-8601 解析支持。


讓我們使用最接近的 RFC-3309:


package main


import (

  "fmt"

  "time"

  "strings"

)


func main() {


  // convert iso-8601 into rfc-3339 format

  rfc3339t := strings.Replace("2015-12-23 00:00:00", " ", "T", 1) + "Z"


  // parse rfc-3339 datetime

  t, err := time.Parse(time.RFC3339, rfc3339t)

  if err != nil {

    panic(err)

  }


  // convert into unix time

  ut := t.UnixNano() / int64(time.Millisecond)


  fmt.Println(ut)

}

輸出


1450828800000

游樂場:http : //play.golang.org/p/HxZCpxmjvg


希望這可以幫助!


查看完整回答
反對 回復 2021-12-06
  • 2 回答
  • 0 關注
  • 190 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號