Golang プログラミングでは時間と継続時間 (デュレーション) を扱う必要があることが多いため、デュレーションの変換方法をマスターすることが重要です。
Golang の Duration は期間を表すデータ型で、秒、ミリ秒、マイクロ秒、ナノ秒などの時間単位を表すために使用できます。コンピュータ システムでは、時間は通常、「1970-01-01 00:00:00 UTC」からの秒数である Unix タイムスタンプとして表現されます。期間は組み込み型であり、次のように定義されます。
type Duration int64
duration は int64 型のエイリアスであり、その単位は継続時間の長さを意味するナノ秒であることがわかります。
開発プロセス中、ミリ秒を期間に変換したり、期間を分に変換したりするなど、期間の変換が必要になることがよくあります。 Golang には、相互変換用の組み込みの時間単位が用意されており、これらの時間単位には、ナノ秒、マイクロ秒、ミリ秒、秒、分、時間などが含まれます。これらの時間単位と期間を使用して変換できます。これらの時間単位と期間の換算方法を以下に説明します。
ナノ秒から期間への変換は非常に簡単です。期間の値としてナノ秒数を使用するだけです。例:
var ns int64 = 1000000 // 1毫秒等于1000000纳秒 duration := time.Duration(ns) fmt.Println(duration) // 打印结果为:1ms
期間をナノ秒に変換するのも非常に簡単です。例えば、その Nans() メソッドを呼び出すだけです。
duration := 1 * time.Millisecond ns := duration.Nanoseconds() fmt.Println(ns) // 打印结果为:1000000
var us int64 = 1000 // 1毫秒等于1000微秒 duration := time.Duration(us * 1000) fmt.Println(duration) // 打印结果为:1ms
duration := 1 * time.Millisecond us := duration.Microseconds() fmt.Println(us) // 打印结果为:1000
var ms int64 = 1 duration := time.Duration(ms) * time.Millisecond fmt.Println(duration) // 打印结果为:1ms
duration := 1 * time.Millisecond ms := duration.Milliseconds() fmt.Println(ms) // 打印结果为:1
var s int64 = 1 duration := time.Duration(s) * time.Second fmt.Println(duration) // 打印结果为:1s
duration := 1 * time.Second s := duration.Seconds() fmt.Println(s) // 打印结果为:1
var m int64 = 1 duration := time.Duration(m * 60) * time.Second fmt.Println(duration) // 打印结果为:1m0s
duration := 1 * time.Minute m := duration.Minutes() fmt.Println(m) // 打印结果为:1
var h int64 = 1 duration := time.Duration(h*60*60) * time.Second fmt.Println(duration) // 打印结果为:1h0m0s
以上がgolangの再生時間の変換方法についての話の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。