Golang の日付変換
Golang では、time.Time、string、int64 など、日付を表すさまざまな方法があります。したがって、これらの日付をどのように変換するかはよくある質問です。
この記事では、Golang での一般的な日付変換方法を紹介します。これには主に次の側面が含まれます:
time.Time 型は、Format 関数を使用して文字列に変換できます。 。例:
t := time.Now() str := t.Format("2006-01-02 15:04:05") // 以指定格式转换为字符串
このうち、Format のパラメータは日付フォーマット文字列となっており、具体的なフォーマットについては Golang のドキュメントを参照してください。
文字列を time.Time に変換するには、time.Parse 関数を使用します。例:
str := "2022-03-25 10:30:00" t, err := time.Parse("2006-01-02 15:04:05", str) // 将字符串解析成时间 if err != nil { // 解析失败 }
最初のパラメータは日付形式文字列で、2 番目のパラメータは解析する必要がある文字列です。解析が失敗した場合、err は空ではありません。
Golang では通常、タイムスタンプは int64 型で表されますが、time.Unix 関数を使用して time.Time 型に変換できます。例:
timestamp := int64(1648238400) t := time.Unix(timestamp, 0) // 将时间戳转换成时间
最初のパラメータはタイムスタンプ、2 番目のパラメータはナノ秒で、0 に設定できます。
time.Time 型は、Unix 関数を使用してタイムスタンプに変換できます。例:
t := time.Now() timestamp := t.Unix() // 将时间转换成时间戳
この関数は、int64 型のタイムスタンプを返します。
他の形式の日付を time.Time 型に変換する必要がある場合は、まず文字列型に変換してから、使用時間. Parse 関数の解析。例:
date := "2022年03月25日 10时30分00秒" layout := "2006年01月02日 15时04分05秒" // 对应日期格式字符串 str, err := time.Parse(layout, date) // 先将其转换成字符串 if err != nil { // 解析失败 } t, err := time.Parse("2006-01-02 15:04:05", str.Format("2006-01-02 15:04:05")) // 再解析成时间 if err != nil { // 解析失败 }
上記は、Golang での一般的な日付変換方法です。 time.Time を文字列に変換する場合でも、文字列を time.Time に変換する場合でも、Golang 標準ライブラリの関数を使用して変換できます。他の形式の日付の場合は、まず文字列型に変換してから、time.Parse 関数を使用して解析します。
以上がgolangの日付変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。