2017-08-08 60 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