Golang は、処理時間の点で優れたパフォーマンスと柔軟性を提供する新興プログラミング言語です。開発中、時間を Unix タイムスタンプ、文字列、指定されたタイム ゾーンの日付と時刻など、さまざまな形式に変換する必要があることがよくあります。この記事では、Golang での時間変換に焦点を当てます。
時間パッケージは、Golang で時間操作を実行するために使用されます。 Unix タイムスタンプは、1970 年 1 月 1 日 00:00:00 UTC からの秒数を指します。 time.Unix 関数を使用して、Unix タイムスタンプを time.Time 型 (Golang で時刻と日付を表す構造体) に変換できます。
たとえば、Unix タイムスタンプ 1562725815 を時間オブジェクトに変換するには、次のように実行できます。
timestamp := int64(1562725815) t := time.Unix(timestamp, 0) fmt.Println(t) // 输出:2019-07-10 02:30:15 +0000 UTC
上記のコードでは、まず Unix タイムスタンプを定義し、それを に渡されるパラメータとして使用します。 time.Unix 関数。この関数は time.Time オブジェクトを返します。Println 関数を使用してその値を出力できます。
time.Time 型の Unix メソッドを使用して、時間を Unix タイムスタンプに変換できます。 Unix メソッドは秒とナノ秒を返しますが、オプションでナノ秒を無視することもできます。
たとえば、時間オブジェクト t を Unix タイムスタンプに変換するには、次の操作を実行できます。
timestamp := t.Unix() fmt.Println(timestamp) // 输出:1562725815
上記のコードでは、 t.Unix() メソッドを呼び出して取得します。時間オブジェクト t Unix タイムスタンプ。
時間を文字列に変換するには、time.Time 型の Format メソッドと指定された形式の文字列を使用します。 Golang の時刻形式文字は、ANSI C 言語標準に基づいています。
たとえば、時刻オブジェクト t を「2006-01-02 15:04:05」という形式の文字列に変換するには、次の操作を実行できます。上のコードでは、まず書式文字列レイアウトを定義し、それをパラメータとして t.Format メソッドに渡します。このメソッドは、レイアウト形式に従って生成された文字列を返します。
文字列を時間に変換するたとえば、文字列「2019-07-10 02:30:15」を「2006-01-02 15:04:05」の形式で時刻オブジェクトに解析するには、次のコマンドを実行できます。
layout := "2006-01-02 15:04:05" str := t.Format(layout) fmt.Println(str) // 输出:2019-07-10 02:30:15
上記のコードでは、まず解析対象の書式文字列レイアウトと文字列 str を定義し、次にそれらをパラメータとして time.Parse 関数に渡します。この関数は time.Time オブジェクトとエラーを返します。解析が失敗した場合は、エラーが発生します。
タイム ゾーンの変換たとえば、現地時間を UTC 時間に変換するには、次の操作を実行できます。
layout := "2006-01-02 15:04:05" str := "2019-07-10 02:30:15" t, err := time.Parse(layout, str) if err != nil { panic(err) } fmt.Println(t) // 输出:2019-07-10 02:30:15 +0000 UTC
上記のコードでは、まずタイム ゾーンを現地のタイム ゾーンに設定してから、 time.ParseInLocation メソッド 文字列を時刻オブジェクトに解析します。解析された時刻はローカル オブジェクトです。次に、local.In(time.UTC) メソッドを使用して、ローカル オブジェクトを UTC 時間に変換します。
概要
Golang の時間変換は非常に柔軟です。時間オブジェクトを、指定されたタイムゾーンの Unix タイムスタンプ、文字列、または日付と時刻に変換できます。また、これらのタイプのデータを時間オブジェクトに変換することもできます。時間を扱うときはタイムゾーンの違いに必ず注意してください。そうしないと、不正確な結果が得られる可能性があります。 Golang の時間変換機能を正しく使用することで、効率的で信頼性の高いアプリケーションをより簡単に構築できます。
以上がGolangで時間を変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。