我希望在日历日中有所不同。我想用相对数字(0,-1,1)来发现与今天,昨天和明天相对应的日期。
以下是一些基本测试:
\Carbon\Carbon::now() // Out: 2017-08-08 09:16 ...
// diffInDays()
\Carbon\Carbon::now()->diffInDays(\Carbon\Carbon::now()->addHour(1)) // output: 0
\Carbon\Carbon::now()->diffInDays(\Carbon\Carbon::now()->tomorrow()) // output: 0
\Carbon\Carbon::now()->diffInDays(\Carbon\Carbon::now()->addHour(23)) // output: 0
\Carbon\Carbon::now()->diffInDays(\Carbon\Carbon::now()->addHour(25)) // output: 1
// diffInWeekDays()
\Carbon\Carbon::now()->diffInWeekDays(\Carbon\Carbon::now()->addHour(1)) // output: 1
\Carbon\Carbon::now()->diffInWeekDays(\Carbon\Carbon::now()->tomorrow()) // output: 1
\Carbon\Carbon::now()->diffInWeekDays(\Carbon\Carbon::now()->addHour(23)) // output: 1
\Carbon\Carbon::now()->diffInWeekDays(\Carbon\Carbon::now()->addHour(25)) // output: 2
这两种方法似乎都按照24小时计算天数。我希望得到什么" someMethod":
\Carbon\Carbon::now()->someMethod(\Carbon\Carbon::now()->addHour(1)) // output: 0
\Carbon\Carbon::now()->someMethod(\Carbon\Carbon::now()->tomorrow()) // output: 1
\Carbon\Carbon::now()->someMethod(\Carbon\Carbon::now()->addHour(23)) // output: 1
\Carbon\Carbon::now()->someMethod(\Carbon\Carbon::now()->addHour(25)) // output: 1
有没有办法在Carbon中获得所需的输出?
我在Carbon存储库中创建了一个相关问题:https://github.com/briannesbitt/Carbon/issues/990
任何评论或帮助将不胜感激!
答案 0 :(得分:3)
由于diffInDays()
基于24小时,您可以使用startOfDay()
方法进行操作
\Carbon\Carbon::now()->startOfDay()->diffInDays(\Carbon\Carbon::now()->addHours(23)->startOfDay(), false)
请注意false
参数以获取负天数
答案 1 :(得分:1)
检查一下:
$date = <some_date>;
\Carbon\Carbon::now()->startOfDay()->diffInDays($date, false);