从存储的日期中提取月份数 Laravel
extract the month number from stored dates Laravel
我正在做一个用户每天插入锻炼的项目。
每个用户都可以从日历中选择他们的锻炼日期,并将其存储在日期形式的锻炼 table 中。
我写这个是为了计算当月的锻炼天数
DB::table('exercises')
->select('day')
->where('user_id', Auth::user()->id)
->whereMonth('day', date('m'))
->whereYear('day', date('Y'))
->distinct()
->get()
->count()
我想为每个用户显示锻炼天数最多的月份,我可以通过将每个月的锻炼天数存储在单独的 table 中来实现,但我不知道如何只提取已存储日期的月份
您可以使用 Carbon,例如下面
$month = Carbon::parse("2022/06/12")->format('MM');
阅读更多相关信息
$month= date('M', strtotime($yourdate)
这应该仅根据存储的日期值为您提供月份。如果您已经在控制器中安装并导入了 carbon,我建议您按照@terinao 给出的答案进行操作,因为它增强了许多您在标准 php 日期函数中找不到的功能。
试试这个解决方案
use Carbon\Carbon;
...
$current_month = Carbon::now()->format('m');
$current_year = Carbon::now()->format('Y');
DB::table('exercises')
->select('id', 'day')
->where('user_id', Auth::user()->id)
->whereMonth('day', $current_month)
->whereYear('day', $current_year)
->distinct()
->count();
我正在做一个用户每天插入锻炼的项目。 每个用户都可以从日历中选择他们的锻炼日期,并将其存储在日期形式的锻炼 table 中。 我写这个是为了计算当月的锻炼天数
DB::table('exercises')
->select('day')
->where('user_id', Auth::user()->id)
->whereMonth('day', date('m'))
->whereYear('day', date('Y'))
->distinct()
->get()
->count()
我想为每个用户显示锻炼天数最多的月份,我可以通过将每个月的锻炼天数存储在单独的 table 中来实现,但我不知道如何只提取已存储日期的月份
您可以使用 Carbon,例如下面
$month = Carbon::parse("2022/06/12")->format('MM');
阅读更多相关信息
$month= date('M', strtotime($yourdate)
这应该仅根据存储的日期值为您提供月份。如果您已经在控制器中安装并导入了 carbon,我建议您按照@terinao 给出的答案进行操作,因为它增强了许多您在标准 php 日期函数中找不到的功能。
试试这个解决方案
use Carbon\Carbon;
...
$current_month = Carbon::now()->format('m');
$current_year = Carbon::now()->format('Y');
DB::table('exercises')
->select('id', 'day')
->where('user_id', Auth::user()->id)
->whereMonth('day', $current_month)
->whereYear('day', $current_year)
->distinct()
->count();