Laravel where date / Carbon 相關操作

更新於 發佈於 閱讀時間約 4 分鐘
//找出日期年份是2021年的
->whereYear('datetime', 2021)

//找出日期月份是7月的
->whereMonth('datetime', 7)

//找出小於等於一個月前的 (找出小於等於2021年6月的)
->whereDate('datetime', '<=', (new Carbon("2021-7"))->subMonth(1))

需特別注意,subMonth(x)會改變原來的值,比如以下範例,假如$today是2021/09/24,減掉6個月後$today的值會被更動:
$today = Carbon::today();
$today->subMonth(6) //這時$today=2021/03/24
如果後面繼續$today->subMonth(x),$today會越來越小,這種狀況可以用->toImmutable()來解決,這樣$today就不會變了:
->whereDate('create_datetime', '>=', $today->toImmutable()->subMonth(6))
->whereDate('create_datetime', '>=', $today->toImmutable()->subMonth(1))

//column between two date
->whereBetween('data_create_datetime', 
[(new Carbon($start_date))->startOfDay(),
(new Carbon($end_date))->endOfDay()]);
$start_date = 2021/10/13
$end_date = 2021/10/20
(new Carbon($start_date))->startOfDay()   // => 2021/10/13 00:00:00
(new Carbon($end_date))->endOfDay()      // => 2021/10/20 23:59:59

//date between two columns
->whereDate('start_datetime', '<=', $date)->whereDate('end_datetime', '>=', $date)

//日期format轉換
Carbon::parse("2021/11/28")->format('Y-m-d');   //2021-11-28
//減1小時
Carbon::parse("2021-12-03 16:00:00")->subHour(1);  //2021-12-03 15:00:00

//現在時間與指定時間差了幾分鐘
$diff_in_minutes = (Carbon::now())->diffInMinutes('09:00:00', false);
帶入false表示回傳的相減分差會有正負數,如果帶true,則都會是正數。
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
avatar-img
21會員
161內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Vic Lin的沙龍 的其他內容
E 本筆記參考: 1. https://stackoverflow.com/questions/40529355/laravel-eloquent-group-by-month-year
mysql中假設groupBy('customer_id') MIN('giveup_date'), 如果欄位中有NULL, 則預設會被忽略。 以下圖為例, 則會拿到2021-09-24 16:42:20。 實務上可能會遇到不想忽略NULL的情況, 解決方法如下: ->select(    DB
Create React App 提供了快速建立React App環境的方法: 1. 安裝node.js 2. 建立React project: $ npx create-react-app my-app 3. 啟動app $ cd my-app $ npm start npm start之後即打
上篇介紹的promise chain的寫法,是已經比原本好維護了沒錯,但是可讀性似乎還是有點不足,其實還可以改成用async/await的寫法,如下: E 其中,async是非同步的意思,等於是把getData()這個function定義為非同步,因此從console可以看到,test是最先被pri
在PHP 7 版本之前,?: 這種寫法稱為,「Ternary Operator」: $data = isset($data) ? $data : 'hello'; PHP 7 之後,??這種寫法稱為「Null Coalescing Operator」: $data = $data ?? 'hell
1. $ C:\wamp64\bin\mariadb\mariadb10.6.3\bin\mysql.exe -u username -p --default-character-set=utf8 2. 選擇db: $ use dbname; 3. 匯入資料: $ source c:\xxx.sq
E 本筆記參考: 1. https://stackoverflow.com/questions/40529355/laravel-eloquent-group-by-month-year
mysql中假設groupBy('customer_id') MIN('giveup_date'), 如果欄位中有NULL, 則預設會被忽略。 以下圖為例, 則會拿到2021-09-24 16:42:20。 實務上可能會遇到不想忽略NULL的情況, 解決方法如下: ->select(    DB
Create React App 提供了快速建立React App環境的方法: 1. 安裝node.js 2. 建立React project: $ npx create-react-app my-app 3. 啟動app $ cd my-app $ npm start npm start之後即打
上篇介紹的promise chain的寫法,是已經比原本好維護了沒錯,但是可讀性似乎還是有點不足,其實還可以改成用async/await的寫法,如下: E 其中,async是非同步的意思,等於是把getData()這個function定義為非同步,因此從console可以看到,test是最先被pri
在PHP 7 版本之前,?: 這種寫法稱為,「Ternary Operator」: $data = isset($data) ? $data : 'hello'; PHP 7 之後,??這種寫法稱為「Null Coalescing Operator」: $data = $data ?? 'hell
1. $ C:\wamp64\bin\mariadb\mariadb10.6.3\bin\mysql.exe -u username -p --default-character-set=utf8 2. 選擇db: $ use dbname; 3. 匯入資料: $ source c:\xxx.sq
你可能也想看
Google News 追蹤
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
最近在排個人行程時 常常記錯時間 兩個禮拜後 會記成下禮拜 禮拜二以為是禮拜三🤣 這難道是所謂的時間膨脹啦 哈哈 有質量的東西 沒有辦法達到光速 如果有能力 達到光速 時間會變慢 但是這個時間的計算 會不會也受到了 速度跟重力場的影響呢 所謂的時間變慢 是跟另一個基準比
Thumbnail
2024/07/10 [今日交易] 最近有慢慢嘗試夜盤的期貨, 自己的缺點或是壞習慣也漸漸越來越清晰, 清晰到無法忽略的地步,如果不把這個問題解決, 期貨的部分不可能可以把期望值維持在正數, 所以最近要多花時間,說服內心的自己, 要慢慢調整跟釋懷心理的坎。 當日損益:+2816(現貨
Thumbnail
2024/07/08 [今日交易] 今天因為一筆做錯了,搞得整天都是在補洞, 最後也沒把洞填滿,只好當作錯誤的代價, 原本想說2328真的有在拉,看看3306能不能跟, 雖然有覺得走勢不太對勁,但是看2328又再往上推, 想說再觀察一下,結果下去的速度很快, 賣壓非常的重,只能趕快損一
Thumbnail
放鬆的週末,我與幾位同事決定提升我們的後端開發技巧,選擇了「日期範圍生成器」作為我們的小型實作。作為團隊中較有經驗的PHP工程師,我引領著團隊從基礎程式碼的撰寫開始,進而深入到物件導向的結構調整,最後提高程式可擴充性的挑戰。雖然過程中遇到不少困難,但我們通過不斷的討論和優化,最終成功克服了所有挑戰。
Thumbnail
2024 0213 今日塔羅:時空   https://dcalyson0110.pixnet.net/blog/post/138257620   昨日、今日、明日 無法明確的區分   沒能注意到是從何時開始 常常會用問句為文章的第一句 這是怎麼樣的思維產生的結果?   我想,
Thumbnail
一月-一元初始萬象新,轉輪新情心態空 二月-踏步更動心不動,穩步踏行無旁物 三月-能量起伏考人心,從心調整眼觀心 四月-世界新界舊換新,開闊心情不糾結 五月-嘗試體驗新事物,學習積累終不悔 六月-年中已到反思心,萬事變化皆因緣 七月--平順源於心平靜,環境萬變堅己路 八月
Thumbnail
我們揮別了2023年,正式踏入2024年啦! 🎆🎆🎆🎆 在13月亮曆的系統裡,每一個周期的開始,都有引領接下來日子往前的意象。所以欲知2024事,先從2024.1.1了解起吧!
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
最近在排個人行程時 常常記錯時間 兩個禮拜後 會記成下禮拜 禮拜二以為是禮拜三🤣 這難道是所謂的時間膨脹啦 哈哈 有質量的東西 沒有辦法達到光速 如果有能力 達到光速 時間會變慢 但是這個時間的計算 會不會也受到了 速度跟重力場的影響呢 所謂的時間變慢 是跟另一個基準比
Thumbnail
2024/07/10 [今日交易] 最近有慢慢嘗試夜盤的期貨, 自己的缺點或是壞習慣也漸漸越來越清晰, 清晰到無法忽略的地步,如果不把這個問題解決, 期貨的部分不可能可以把期望值維持在正數, 所以最近要多花時間,說服內心的自己, 要慢慢調整跟釋懷心理的坎。 當日損益:+2816(現貨
Thumbnail
2024/07/08 [今日交易] 今天因為一筆做錯了,搞得整天都是在補洞, 最後也沒把洞填滿,只好當作錯誤的代價, 原本想說2328真的有在拉,看看3306能不能跟, 雖然有覺得走勢不太對勁,但是看2328又再往上推, 想說再觀察一下,結果下去的速度很快, 賣壓非常的重,只能趕快損一
Thumbnail
放鬆的週末,我與幾位同事決定提升我們的後端開發技巧,選擇了「日期範圍生成器」作為我們的小型實作。作為團隊中較有經驗的PHP工程師,我引領著團隊從基礎程式碼的撰寫開始,進而深入到物件導向的結構調整,最後提高程式可擴充性的挑戰。雖然過程中遇到不少困難,但我們通過不斷的討論和優化,最終成功克服了所有挑戰。
Thumbnail
2024 0213 今日塔羅:時空   https://dcalyson0110.pixnet.net/blog/post/138257620   昨日、今日、明日 無法明確的區分   沒能注意到是從何時開始 常常會用問句為文章的第一句 這是怎麼樣的思維產生的結果?   我想,
Thumbnail
一月-一元初始萬象新,轉輪新情心態空 二月-踏步更動心不動,穩步踏行無旁物 三月-能量起伏考人心,從心調整眼觀心 四月-世界新界舊換新,開闊心情不糾結 五月-嘗試體驗新事物,學習積累終不悔 六月-年中已到反思心,萬事變化皆因緣 七月--平順源於心平靜,環境萬變堅己路 八月
Thumbnail
我們揮別了2023年,正式踏入2024年啦! 🎆🎆🎆🎆 在13月亮曆的系統裡,每一個周期的開始,都有引領接下來日子往前的意象。所以欲知2024事,先從2024.1.1了解起吧!