ホームページ  >  記事  >  バックエンド開発  >  Golang 文字と時間

Golang 文字と時間

王林
王林オリジナル
2023-05-13 09:36:074130ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。