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

golang の日付から時刻まで

王林
王林オリジナル
2023-05-15 11:54:37749ブラウズ

Go 言語では、時刻ライブラリを使用して日付と時刻を処理できます。時刻ライブラリには、日付と時刻を簡単に変換および計算できる日付と時刻の操作用の関数がいくつか用意されています。

まず、特定の日付と時刻を表す time.Time 型の変数を定義する必要があります。このタイプには日付と時刻の情報が含まれます。日付は日単位、時刻はナノ秒単位です。 time.Now() 関数を使用して、現在の日付と時刻を取得できます。

now := time.Now()

この関数は、time.Time 型のインスタンスを返します。

日付を文字列にフォーマットするには、time.Format() 関数を使用できます。そのパラメータは、日付と時刻を出力する形式を記述する形式文字列です。たとえば、次のコードは、日付を YYYY-MM-DD 形式の文字列にフォーマットします。

now := time.Now()
dateStr := now.Format("2006-01-02")

このフォーマット文字列では、数値部分が日付と時刻のさまざまな部分を表します。たとえば、「2006」 Go言語のリリースバージョンが2006年であるため、「」は年を表します。月の部分は年の最初の月であるため「01」で表され、日の部分は月の 2 日であるため「02」で表されます。

文字列を日付に変換するには、time.Parse() 関数を使用できます。日付文字列と形式文字列の 2 つのパラメータを取ります。たとえば、次のコードは、YYYY-MM-DD 形式の文字列を時刻に変換します。

dateStr := "2021-05-20"
date, err := time.Parse("2006-01-02", dateStr)
if err != nil {
    panic(err)
}

この例では、「2006-01-02」が形式文字列で、日付変数は時刻です。 Time 日付と時刻を表す型のインスタンス。

タイムスタンプ (秒単位の時間) を時間に変換するには、time.Unix() 関数を使用できます。タイムスタンプとナノ秒オフセットの 2 つのパラメータを取ります。たとえば、次のコードはタイムスタンプを時刻に変換します。

timestamp := 1621527891
nanoSec := 0
time := time.Unix(int64(timestamp), int64(nanoSec))

ここで、time.Unix() 関数は time.Time 型のインスタンスを返します。

時刻の年、月、日、時、分、秒、およびミリ秒の部分を取得するには、 Year()、Month()、Day()、Hour()、Minute()、 Second() メソッドと Nanosecond() メソッド。たとえば、次のコードは現在時刻の年、月、日を取得します。

now := time.Now()
year := now.Year()
month := now.Month()
day := now.Day()

さらに、時間ライブラリには、Duration 型 (期間を表す) など、他の多くの関数や型も提供されています。時間)、Ticker タイプ(タイミング スケジューリングに使用)、Timer タイプ(遅延実行に使用)、ParseDuration() 関数(期間文字列の解析に使用)など。

つまり、Go 言語の time ライブラリには便利な関数と型が多数用意されており、日付と時刻の処理が非常に簡単になります。

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

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