ホームページ > バックエンド開発 > Golang > golang の日付から時刻まで

golang の日付から時刻まで

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2023-05-15 12:01:37
オリジナル
1954 人が閲覧しました

時代の発展に伴い、コンピュータ言語は常に更新、開発されており、その中でもgolangは新興プログラミング言語として、その迅速な開発と効率的なパフォーマンスにより開発者に愛されています。 golang では、日付を時刻に変換するのは一般的な要件ですが、開発においては比較的複雑な問題でもあります。では、golang で日付を時刻に変換するにはどうすればよいでしょうか?この記事では、golangで日付を時刻に変換する方法とテクニックを詳しく紹介します。

1. golang の日付から時刻への変換の基礎知識

golang では、日付と時刻は time パッケージを通じて実装されます。このパッケージで最も基本的なのは time.Time 型で、これは時点とタイム ゾーンを表します。このタイプには、1970 年 1 月 1 日の UTC (グリニッジ標準時) から現在の時点までの秒数である Unix タイムスタンプとタイムゾーン情報が含まれます。したがって、Unix タイムスタンプを通じて日付を時刻に変換できます。

2. golang での日付を時刻に変換する実装方法

golang では、日付を時刻に変換する基本的な方法は、日付を Unix タイムスタンプに変換してから時刻を使用することです。 Unix タイムスタンプを変換する Unix 関数 time.Time 型の時刻に変換し、最後にこの型の Format メソッドを使用して時刻を指定された形式にフォーマットします。具体的な実装方法を見ていきましょう。

  1. 日付を Unix タイムスタンプに変換する
    golang では、time パッケージの Parse 関数を使用して日付文字列を time.Time 型の時刻に変換し、Unix 関数を使用できます。 Unix タイムスタンプに変換します。例は次のとおりです。
package main

import (
    "fmt"
    "time"
)

func main() {
    dateStr := "2022-10-10 10:10:10"
    loc, _ := time.LoadLocation("Local")
    date, _ := time.ParseInLocation("2006-01-02 15:04:05", dateStr, loc)
    unixTime := date.Unix()
    fmt.Println(unixTime) // 输出: 1665425410
}
ログイン後にコピー

上の例では、日付文字列とローカル タイム ゾーンの場所を定義しました。次に、time.ParseInLocation 関数を使用して日付文字列を time.Time 型の時刻に変換し、Unix 関数を使用して時刻を Unix タイムスタンプに変換します。最後に、Unix タイムスタンプをコンソールに出力します。

  1. Unix タイムスタンプを time.Time 型 time に変換する
    golang では、time パッケージの Unix 関数を使用して、Unix タイムスタンプを time.Time 型 time に変換できます。例は次のとおりです。
package main

import (
    "fmt"
    "time"
)

func main() {
    unixTime := int64(1665425410)
    date := time.Unix(unixTime, 0)
    fmt.Println(date) // 输出: 2022-10-10 10:10:10 +0800 CST
}
ログイン後にコピー

上の例では、Unix タイムスタンプと time.Time 型の時刻を定義しました。次に、time.Unix 関数を使用して Unix タイムスタンプを time.Time 型の時刻に変換し、最後にそれをコンソールに出力します。

  1. time.Time 型の時刻を指定した形式にフォーマットする
    golang では、time.Time 型の Format メソッドを使用して、時間を指定した形式にフォーマットできます。例は次のとおりです。
package main

import (
    "fmt"
    "time"
)

func main() {
    dateStr := "2022-10-10 10:10:10"
    loc, _ := time.LoadLocation("Local")
    date, _ := time.ParseInLocation("2006-01-02 15:04:05", dateStr, loc)
    formatStr := "2006年01月02日 15点04分05秒"
    dateStr2 := date.Format(formatStr)
    fmt.Println(dateStr2) // 输出: 2022年10月10日 10点10分10秒
}
ログイン後にコピー

上の例では、日付文字列、ローカル タイム ゾーンの場所、および日付形式文字列を定義します。次に、time.ParseInLocation 関数を使用して日付文字列を time.Time 型の時刻に変換し、次に書式文字列を使用して時刻を指定された形式に書式設定します。最後に、フォーマットされた日付文字列がコンソールに出力されます。

3. 概要

この記事の導入部を通じて、golang で日付を時刻に変換する方法とテクニックを理解することができます。簡単に言えば、日付を Unix タイムスタンプに変換し、それを time.Time 型の時刻に変換し、この型の Format メソッドを使用して時刻を指定された形式にフォーマットすることができます。日付を時刻に変換する場合、日付文字列を Unix タイムスタンプと time.Time 型の時刻に正しく変換するには、日付文字列の形式とタイム ゾーン情報を設定する必要があることに注意してください。

以上がgolang の日付から時刻までの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート