Skip to content

テスト ​

現在の時刻を固定し、任意の時刻を現在の時刻に設定することができます。これにより、実際のシステム時刻ではなく、このシミュレーション時刻に基づいて後続の操作が実行され、ユニットテストが容易になります

テスト時間の設定 ​

go
now := carbon.Parse("2020-08-05")
carbon.SetTestNow(now)

carbon.Now().ToDateString() // 2020-08-05
carbon.Yesterday().ToDateString() // 2020-08-04
carbon.Tomorrow().ToDateString() // 2020-08-06
carbon.Now().DiffForHumans() // just now
carbon.Yesterday().DiffForHumans() // 1 day ago
carbon.Tomorrow().DiffForHumans() // 1 day from now
carbon.Parse("2020-10-05").DiffForHumans() // 2 months from now
now.DiffForHumans(carbon.Parse("2020-10-05")) // 2 months before

テスト時間かどうか ​

go
carbon.IsTestNow()

テスト時間のクリア ​

go
carbon.ClearTestNow()

スリープ ​

時間を凍結した状態では、Sleep は実時間を待たずに凍結された現在時刻を直接進めます。凍結していない場合は time.Sleep と同じ動作になります。

go
carbon.SetTestNow(carbon.Parse("2020-08-05 13:14:15"))
carbon.Sleep(2 * time.Hour)

carbon.Now().ToDateTimeString() // 2020-08-05 15:14:15

MITライセンスに基づいて公開されており、許可なく複製することは禁止されています