2017-04-19 152 views
-7

我有一個表單輸入,我認爲用戶最簡單的方法是將日期插入爲YYYYMMDD,所以我想知道如何將該用戶輸入轉換爲Unix時間?將YYYYMMDD轉換爲Unix中的時間

import "time" 

func SomeFormPOST(w http.ResponseWriter, r *http.Request) { 
    err := r.ParseForm() 
    // err handling 
    date := r.FormValue("date") 
    unixDate := date.DOWHAT.Unix() 
} 

我想也許我需要使用t, _ = time.Parse(...)但一直沒能弄明白..

+0

您是否試過閱讀手冊? – Flimzy

+2

這有太多的重複,它只是荒謬的。谷歌存在的原因是人。 – RayfenWindspear

+0

我不明白標記爲回答的問題是如何相同的,我事先做過Google,以及檢查時間文檔..可能會有超過一千個人想要完成我所要求的內容爲什麼你對我的消極態度想要得到更多與Go有關的問題/答案,這將有助於提高其知名度。 – fisker

回答

0

你是正確的,你可以使用time.Parse,其中第一個參數是的佈局第二,第二個是你想分析的價值。

這意味着如果您知道要解析的值具有此YYYYMMDD格式,則可以使用參考時間構造佈局參數。由於參考時間在文檔中指定爲Mon Jan 2 15:04:05 -0700 MST 2006,因此您的佈局應如下所示:20060102

layout := "20060102" 
t, err := time.Parse(layout, date) 
if err != nil { 
    panic(err) 
} 
fmt.Println(t) 
+0

非常感謝,我記得嘗試過類似的東西,但在Unix時間戳之間將它轉換回第四個之後,似乎給出了不同的結果..不知道是否因爲我寫了不同的佈局字符串(例如20160319),但它現在似乎工作:) – fisker

+0

沒問題,參考時間戳對佈局很重要,您必須使用'01 ''作爲一個月,'02'作爲一天,'2006'作爲一年,等等......如果你使用'03'作爲月份,它就不會工作。 – mkopriva

+0

啊,這就解釋了它:)我認爲這是最好的,如果我使用13-31之間的東西作爲一天,以便它不能作爲本月混淆.. – fisker