Golang は、高速、簡潔、信頼性の高いプログラミング言語であり、その学習しやすさ、効率性、信頼性の高い機能により、開発者の間でますます人気が高まっています。 Golang では、時刻とタイムスタンプ間の変換は一般的な操作です。この記事では、時間をタイムスタンプに変換する方法について詳しく説明します。
時間とタイムスタンプの違い
コンピュータ システムでは、時間は通常、いわゆるタイムスタンプという数値で表されます。タイムスタンプは、特定の日付 (通常は 1970 年 1 月 1 日) からの秒数です。たとえば、Unix タイムスタンプは、1970 年 1 月 1 日 00:00:00 (GMT) からの秒数を指します。つまり、タイムスタンプは、ある固定時点からの合計秒数を表す整数値です。
これに対して、時間は、2006 年 1 月 2 日 15:04:05.6789101112 など、特定の日付と時刻を指します。
Golang では、time パッケージを使用して時刻とタイムスタンプ間の変換を処理できます。
時間をタイムスタンプに変換する
Golang では、time パッケージの Unix 関数を使用して時間をタイムスタンプに変換できます。 Unix 関数は、time.Time 型の値をパラメータとして受け入れ、その時刻 (つまり、1970 年 1 月 1 日 00:00:00 からの秒数) に対応する Unix タイムスタンプを返します。以下は、時間をタイムスタンプに変換する方法を示すサンプル プログラムです。
package main import ( "fmt" "time" ) func main() { // 获取当前时间 now := time.Now() // 将时间转换为时间戳 timestamp := now.Unix() // 输出时间戳 fmt.Println(timestamp) }
上記のコードでは、まず time.Now() 関数を使用して現在時刻を取得します。次に、now.Unix() を使用して時間をタイムスタンプに変換し、結果をタイムスタンプ変数に保存します。最後に、 fmt.Println() 関数を使用してタイムスタンプをコンソールに出力します。上記のプログラムを実行すると、現在の時刻の Unix タイムスタンプを表す整数値が得られます。以下は、時間をタイムスタンプに変換する非常に簡単な例です。
タイムスタンプを時間に変換する
タイムスタンプがすでにある場合は、それを時間に変換する必要があります。 Golang では、time パッケージの Unix 関数を使用してタイムスタンプを時刻に変換できます。 Unix 関数は、int64 型のタイムスタンプをパラメータとして受け取り、そのタイムスタンプに対応する time.Time 型の値を返します。タイムスタンプを時刻に変換する方法を示すサンプル プログラムを次に示します。
package main import ( "fmt" "time" ) func main() { // 定义一个时间戳 timestamp := int64(1629674284) // 将时间戳转换为时间 tm := time.Unix(timestamp, 0) // 输出时间 fmt.Println(tm) }
上記のコードでは、最初にタイムスタンプを int64 型の値として定義します。次に、time.Unix() を使用して、対応する時刻値に変換します。最後に、 fmt.Println() 関数を使用して時刻をコンソールに出力します。上記のプログラムを実行すると、タイムスタンプに対応する時刻値を表す文字列が取得されます。
概要
Golang では、時刻とタイムスタンプ間の変換は非常に一般的な操作です。この記事では、time パッケージを使用して時刻をタイムスタンプに変換する方法と、Unix 関数を使用してタイムスタンプを時刻に変換する方法について説明します。この知識は、Golang プログラムで時刻とタイムスタンプを変換する必要がある場合に役立ちます。
以上がGolangで時間をタイムスタンプに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。