ホームページ >バックエンド開発 >Golang >Golangでタイムスタンプを取得する方法

Golangでタイムスタンプを取得する方法

zbt
zbtオリジナル
2023-12-14 14:59:071393ブラウズ

タイムスタンプを取得するための Golang メソッド: 1. time パッケージの Now() 関数を使用して現在時刻を取得し、Unix() 関数を使用してそれをタイムスタンプに変換します; 2. Parse を使用します。 time パッケージの () ) 文字列型 time をタイムスタンプに変換する関数; 3. time パッケージの Unix() 関数を使用して、指定された年、月、日、時、分、秒をタイムスタンプに変換します。

Golangでタイムスタンプを取得する方法

このチュートリアルのオペレーティング システム: Windows 10 システム、Go 1.20.1 バージョン、DELL G3 コンピューター。

Golang では、time パッケージを使用してタイムスタンプを取得できます。タイムスタンプは特定の時間を表す数値であり、通常は特定の時点からの秒数またはミリ秒数です。 Golang では、タイムスタンプは通常ナノ秒単位で測定されます。

1. 現在時刻のタイムスタンプを取得するには、time パッケージの Now() 関数を使用して現在時刻を取得し、Unix() 関数を使用してそれをタイムスタンプに変換します。サンプル コードは次のとおりです。

package main
import (
"fmt"
"time"
)
func main() {
// 获取当前时间
now := time.Now()
// 转换为时间戳(秒数)
timestamp := now.Unix()
fmt.Println("当前时间戳(秒数):", timestamp)
// 转换为时间戳(纳秒数)
nanosecondTimestamp := now.UnixNano()
fmt.Println("当前时间戳(纳秒数):", nanosecondTimestamp)
}

上の例では、まず time.Now() 関数を使用して現在時刻を取得し、次に Unix() 関数と UnixNano() 関数をそれぞれ使用して変換します。タイムスタンプ (秒) とナノ秒) に変換します。

2. 現在の時刻のタイムスタンプを取得することに加えて、time パッケージの Parse() 関数を使用して文字列型の時刻をタイムスタンプに変換することもできます。サンプル コードは次のとおりです。

package main
import (
"fmt"
"time"
)
func main() {
// 定义一个时间字符串
timeStr := "2022-01-01 12:00:00"
// 将时间字符串转换为时间对象
t, err := time.Parse("2006-01-02 15:04:05", timeStr)
if err != nil {
fmt.Println("时间格式错误:", err)
return
}
// 将时间对象转换为时间戳(秒数)
timestamp := t.Unix()
fmt.Println("时间字符串对应的时间戳(秒数):", timestamp)
// 将时间对象转换为时间戳(纳秒数)
nanosecondTimestamp := t.UnixNano()
fmt.Println("时间字符串对应的时间戳(纳秒数):", nanosecondTimestamp)
}

上の例では、最初に時刻文字列を定義し、次に time.Parse() 関数を使用してそれを時刻オブジェクトに変換し、最後に Unix() とUnixNano() 関数は、時刻オブジェクトをタイムスタンプに変換します。

3. 上記の方法に加えて、time パッケージの Unix() 関数を使用して、指定された年、月、日、時、分、秒をタイムスタンプに変換することもできます。サンプル コードは次のとおりです。

package main
import (
"fmt"
"time"
)
func main() {
// 定义指定时间
specifiedTime := time.Date(2022, time.January, 1, 12, 0, 0, 0, time.UTC)
// 将指定时间转换为时间戳(秒数)
timestamp := specifiedTime.Unix()
fmt.Println("指定时间对应的时间戳(秒数):", timestamp)
// 将指定时间转换为时间戳(纳秒数)
nanosecondTimestamp := specifiedTime.UnixNano()
fmt.Println("指定时间对应的时间戳(纳秒数):", nanosecondTimestamp)
}

上の例では、time.Date() 関数を使用して指定された時間を定義し、Unix() 関数と UnixNano() 関数を使用してそれを次のように変換します。タイムスタンプ。

要約すると、Golang では、time パッケージの Now() 関数を使用して現在の時刻のタイムスタンプを取得し、Parse() 関数を使用して文字列型の時刻をタイムスタンプに変換し、 Unix () 関数を使用すると、指定された年、月、日、時、分、秒がタイムスタンプに変換されます。これらの方法は、実際の開発におけるタイムスタンプのニーズを満たすことができます。

以上がGolangでタイムスタンプを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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