Golang は、さまざまな分野で広く使用されている効率的で簡潔なプログラミング言語です。開発では、文字列から時刻への変換、時刻から文字列への変換など、時刻の変換が必要になることがよくありますが、時刻の形式が異なると特定の問題も発生します。そこで、この記事ではGolangにおける時間変換操作を紹介し、その具体的な使い方を例を通して解説します。
1. 文字列を時間に変換する
Golang では、time パッケージの Parse 関数を使用して文字列を時間に変換できます。 Parse関数の具体的な定義は以下の通りです。
func Parse(layout, value string) (Time, error)
このうち、layoutは変換する文字列の時刻形式を表します。 、 value は変換される文字を表します。これら 2 つのパラメーターは、時間パッケージの事前定義された定数を使用できます。特定の定数とその意味は次のとおりです:
時間定数 | 意味 |
---|---|
ANSIC | 「Mon Jan _2 15:04:05 2006」 |
UnixDate | "月 1 月 _2 15:04:05 MST 2006" |
RFC3339 | "2006-01-02T15:04:05Z07:00" |
たとえば、文字列「2022/04/12 15:20:00」を時刻に変換するサンプルコードは次のとおりです。
timeStr := "2022/04/12 15:20:00" layout := "2006/01/02 15:04:05" t, err := time.Parse(layout, timeStr) if err != nil { fmt.Println("转化失败:", err) } else { fmt.Println("转化成功:", t) }
このうち、timeStrは変換する文字列、layout は文字列の時刻形式 (「2006/01/02 15:04:05」は年、月、日、時、分、秒を表します)、t は取得された時刻オブジェクトです変換後、err は変換プロセス中のエラー メッセージです。上記のコードを実行すると、出力結果は次のようになります。
转化成功: 2022-04-12 15:20:00 +0000 UTC
2. 時間を文字列に変換する
#同様に、Golang では、Format 関数を使用して時間を文字列に変換できます。この関数の具体的な定義は次のとおりです。 func (t Time) Format(layout string) string このうち、t は変換対象の時間オブジェクト、layout はフォーマットされた文字列を表します。時間文字列。その使用方法も、上で紹介した Parse 関数と似ています。 例として、時刻を「2022/04/12 15:20:00」という形式の文字列に変換するサンプルコードは以下のとおりです。t := time.Now() layout := "2006/01/02 15:04:05" timeStr := t.Format(layout) fmt.Println("转化后时间字符串:", timeStr)
转化后时间字符串: 2022/04/12 15:20:00
t := time.Now() utc := t.UTC() fmt.Println("本地时间:", t) fmt.Println("UTC时间:", utc)
本地时间: 2022-10-07 15:24:56.200122 +0800 CST m=+0.000498761 UTC时间: 2022-10-07 07:24:56.200122 +0000 UTC
func (t Time) Sub(u Time) Duration
t := time.Now() d := 10 * time.Minute newTime := t.Add(d) fmt.Println("原时间:", t) fmt.Println("加10分钟后的时间:", newTime)
原时间: 2022-10-07 15:35:26.924559 +0800 CST m=+0.000213898 加10分钟后的时间: 2022-10-07 15:45:26.924559 +0800 CST
以上がgolang 時間の変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。