In der Go-Sprache können wir Zeichenfolgen sehr bequem in Zeittypen konvertieren und es unterstützt auch die Konvertierung mehrerer Zeitformate. In diesem Artikel wird erläutert, wie Sie mithilfe der Go-Sprache eine Zeichenfolge in einen Zeittyp konvertieren.
1. Zeitformatierung
Bevor wir die Zeitkonvertierung durchführen, müssen wir zunächst verstehen, wie die Zeit formatiert wird. In der Go-Sprache wird die Zeitformatierung mithilfe von Zeitvorlagen definiert. „Mo“, „Jan“, „2“, „15:04:05“, „MST“, „2006“ usw. in der Zeitvorlage stellen alle spezifisch dar Die Zeitinhalte haben in der Zeitvorlage bestimmte Bedeutungen. Hier sind einige häufig verwendete Zeitvorlagen:
时间模板 描述 Mon 月份简写 January 月份全称 02 月份中的日,带前导零 2 月份中的日,不带前导零 15 小时(24小时制),带前导零 3:04 PM 小时(12小时制) 04 小时中的分钟,带前导零 5 小时中的分钟,不带前导零 05.000 带秒的小数点 PM 上午/下午标识符 MST 时区缩写 2006 年份,用于参考 06 年份最后两位,用于参考 01 相对于年份的月份,带前导零 Jan 相对于年份的月份,不带前导零 02 相对于月份的日,带前导零
Mithilfe der oben genannten Zeitvorlagen können wir das benötigte Zeitformat definieren.
package main import ( "fmt" "time" ) func main() { t := time.Now() fmt.Println(t.Format("2006-01-02 15:04:05")) }
Im obigen Code verwenden wir die Zeitvorlage „2006-01-02 15:04:05“, um die Zeit zu formatieren, und das endgültige Ausgabeergebnis ist „2022-05-17 13:23:51“.
2. String in Zeit konvertieren
In der Go-Sprache können wir die Parse-Methode im Zeitpaket verwenden, um einen String in einen Zeittyp umzuwandeln. Die Parse-Methode erfordert zwei Parameter. Der erste Parameter ist eine Zeitzeichenfolge und der zweite Parameter ist das Format der Zeitzeichenfolge.
package main import ( "fmt" "time" ) func main() { str := "2022-05-17 13:23:51" layout := "2006-01-02 15:04:05" t, _ := time.Parse(layout, str) fmt.Println(t) }
Im obigen Code haben wir die Zeitzeichenfolge „2022-05-17 13:23:51“ und die Zeitvorlage „2006-01-02 15:04:05“ an die Methode time.Parse übergeben und schließlich übergeben fmt.Println gibt die umgerechnete Zeit aus.
3. Konvertierung mehrerer Zeitformate
In praktischen Anwendungen werden wir wahrscheinlich auf mehrere unterschiedliche Zeitformate stoßen, und zu diesem Zeitpunkt müssen wir mehrere Zeitformatkonvertierungen unterstützen. Die Go-Sprache stellt die Methode time.ParseInLocation zur Unterstützung mehrerer Zeitformatkonvertierungen bereit. Die ParseInLocation-Methode erfordert drei Parameter. Der erste Parameter ist eine Zeitzeichenfolge, der zweite Parameter ist eine Zeitvorlage und der dritte Parameter ist eine angegebene Zeitzone.
package main import ( "fmt" "time" ) func main() { str1 := "2022-05-17 13:23:51" layout1 := "2006-01-02 15:04:05" str2 := "2019/01/01 12:00:00" layout2 := "2006/01/02 15:04:05" loc, _ := time.LoadLocation("Asia/Shanghai") t1, _ := time.ParseInLocation(layout1, str1, loc) fmt.Println(t1) t2, _ := time.ParseInLocation(layout2, str2, loc) fmt.Println(t2) }
Im obigen Code verwenden wir die Methode time.ParseInLocation, um zwei verschiedene Zeitformatkonvertierungen zu unterstützen, wobei str1 und Layout1 das erste Zeitformat darstellen und str2 und Layout2 das zweite Zeitformat darstellen. Geben Sie über die LoadLocation-Methode die Zeitzone als „Asien/Shanghai“ an und geben Sie die Zeit schließlich über fmt.Println in zwei verschiedenen Formaten aus.
4. Zusammenfassung
In der Go-Sprache können wir Zeichenfolgen mithilfe der Methoden time.Parse und time.ParseInLocation in Zeittypen konvertieren und mehrere Zeitformatkonvertierungen unterstützen. Wenn wir Zeittypen konvertieren müssen, können wir die obige Methode verwenden und eine geeignete Zeitvorlage für die Zeitformatierung verwenden.
Das obige ist der detaillierte Inhalt vonGolang-Charakter zur Zeit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!