いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

Goメモ-216 (time.Time から時刻部分をクリアしたい場合)

概要

たまーに使うことがあるので、忘れないうちにメモメモ。

time.Truncate は、指定した time.Duration 区切りの時間にしてくれるので、ここに 24 時間を指定します。

package times

import (
    "time"

    "github.com/devlights/gomy/output"
    "github.com/devlights/gomy/times"
)

// TruncateDay -- time.Timeから時刻部分を除去するサンプルです.
//
// 時刻部分を除去する場合は、 time.Truncate() に 24時間 を指定する.
//
// REFERENCES:
//   - https://pkg.go.dev/time@latest#Time.Truncate
func TruncateHours() error {
    var (
        now       = time.Now()
        truncated = now.Truncate(24 * time.Hour)
        t1        = times.Formatter(now).YyyyMmddHHmmss()
        t2        = times.Formatter(truncated).YyyyMmddHHmmss()
    )

    output.Stdoutl("[now      ]", t1)
    output.Stdoutl("[truncated]", t2)

    return nil
}

実行すると以下のようになります。

gitpod /workspace/try-golang (master) $ task
task: [run] go run . -onetime

ENTER EXAMPLE NAME: truncate_hours

[Name] "time_truncate_hours"
[now      ]          2022/6/20 04:39:46
[truncated]          2022/6/20 00:00:00


[Elapsed] 60.81µs

参考情報


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。