Go 言語では、文字列を時刻型に簡単に変換でき、複数の時刻形式の変換もサポートしています。この記事ではGo言語を使って文字列を時刻型に変換する方法を紹介します。
1. 時刻の書式設定
時刻変換を実行する前に、まず時刻の書式設定方法を理解する必要があります。 Go 言語では、時刻の書式設定は時刻テンプレートを使用して定義されます。時刻テンプレート内の「Mon」、「Jan」、「2」、「15:04:05」、「MST」、「2006」などはすべて特定の時刻を表します。時間コンテンツは、時間テンプレート内で特定の意味を持ちます。一般的に使用される時刻テンプレートの一部を次に示します。
时间模板 描述 Mon 月份简写 January 月份全称 02 月份中的日,带前导零 2 月份中的日,不带前导零 15 小时(24小时制),带前导零 3:04 PM 小时(12小时制) 04 小时中的分钟,带前导零 5 小时中的分钟,不带前导零 05.000 带秒的小数点 PM 上午/下午标识符 MST 时区缩写 2006 年份,用于参考 06 年份最后两位,用于参考 01 相对于年份的月份,带前导零 Jan 相对于年份的月份,不带前导零 02 相对于月份的日,带前导零
上記の時刻テンプレートを通じて、必要な時刻形式を定義できます。
package main import ( "fmt" "time" ) func main() { t := time.Now() fmt.Println(t.Format("2006-01-02 15:04:05")) }
上記のコードでは、時刻テンプレート「2006-01-02 15:04:05」を使用して時刻をフォーマットし、最終的な出力結果は「2022-05-17 13:23:」になります。 51インチ。
2. 文字列を時刻に変換する
Go 言語では、time パッケージの Parse メソッドを使用して文字列を時刻型に変換できます。 Parse メソッドには 2 つのパラメータが必要です。最初のパラメータは時間文字列で、2 番目のパラメータは時間文字列の形式です。両方のパラメータは文字列型です。
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) }
上記のコードでは、時間文字列「2022-05-17 13:23:51」と時間テンプレート「2006-01-02 15:04:05」を time.Parse に渡しました。メソッドを実行し、最後に fmt.Println を通じて変換された時刻が出力されます。
3. 複数の時刻形式の変換
実際のアプリケーションでは、複数の異なる時刻形式に遭遇する可能性が高く、現時点では、複数の時刻形式の変換をサポートする必要があります。 Go 言語には、複数の時刻形式変換をサポートする time.ParseInLocation メソッドが用意されています。ParseInLocation メソッドには 3 つのパラメータが必要です。最初のパラメータは時間文字列、2 番目のパラメータは時間テンプレート、3 番目のパラメータは指定されたタイム ゾーンです。
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) }
上記のコードでは、time.ParseInLocation メソッドを使用して 2 つの異なる時刻形式変換をサポートしています。str1 とlayout1 は最初の時刻形式を表し、str2 とlayout2 は 2 番目の時刻形式を表します。 LoadLocation メソッドを使用してタイム ゾーンを「アジア/上海」として指定し、最後に fmt.Println を使用して 2 つの異なる形式で時刻を出力します。
4. 概要
Go 言語では、time.Parse メソッドと time.ParseInLocation メソッドを通じて文字列を時間型に変換でき、複数の時間形式の変換をサポートします。時間の種類を変換する必要がある場合は、上記の方法を使用して、時間の書式設定に適切な時間テンプレートを使用できます。
以上がGolang 文字と時間の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。