2017-08-08 88 views
1

我想在日历日中获得差异。我想用相对数字(0,-1,1)查看与今天,昨天和明天相对应的日期。使用PHP碳日历日期的差异

这里有一些基本的测试:

\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 

有没有什么办法让我的需要的输出在碳?

我创建了一个相关的问题在这里碳库:https://github.com/briannesbitt/Carbon/issues/990

任何意见或帮助将非常感激!

回答

2

由于diffInDays()基于24小时,您可以通过使用startOfDay()方法

\Carbon\Carbon::now()->startOfDay()->diffInDays(\Carbon\Carbon::now()->addHours(23)->startOfDay(), false) 

注意false参数来获取天

+0

哦,我的负数欺骗!我找到了相同的解决方案并将其发布到Github中。它工作正常!至少对我来说它涵盖了我的需要。我开始怀疑在Carbon中没有任何本地方法来覆盖此... 谢谢! – Codi22