Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Datetime 如何计算一个月内的周末数(碳对象)?_Datetime_Laravel 4 - Fatal编程技术网

Datetime 如何计算一个月内的周末数(碳对象)?

Datetime 如何计算一个月内的周末数(碳对象)?,datetime,laravel-4,Datetime,Laravel 4,我试图计算一个月内有多少个周末(周六和周日)。这将允许我减去这些周末,以获得我的应用程序中所需的实际工作日数 我现在要做的是,首先我创造了这样的碳物体: $thisDate=Carbon::createFromDate(2014,12,2) 然后,我计算了一个月中,在这个碳物体的帮助下,落在上述日期的天数 $daysInMonth=$thisDate->daysInMonth 现在,我得到了一个月的天数。通过循环该月的每一天,检查是否是周末(类似于CarbonObject->isWeekday)

我试图计算一个月内有多少个周末(周六和周日)。这将允许我减去这些周末,以获得我的应用程序中所需的实际工作日数

我现在要做的是,首先我创造了这样的碳物体:

$thisDate=Carbon::createFromDate(2014,12,2)

然后,我计算了一个月中,在这个碳物体的帮助下,落在上述日期的天数

$daysInMonth=$thisDate->daysInMonth

现在,我得到了一个月的天数。通过循环该月的每一天,检查是否是周末(类似于CarbonObject->isWeekday)并增加计数器,可以找到周末的数量,但看起来相当混乱

还有更优雅的方法吗?我的意思是,在CarbonObject中是否有我遗漏的更好的东西,可以以更简单的方式给出结果

注意:我是在Laravel4.2的帮助下创建我的应用程序的

我也读过这篇文章:(但想知道是否有碳路解决方案)

您可以使用
diffInDaysFiltered()
方法来使用
isWeekend()
方法过滤天数,该方法将返回您要查找的结果

$dt = Carbon::create(2014, 1, 1);
$dt2 = Carbon::create(2014, 12, 31);
$daysForExtraCoding = $dt->diffInDaysFiltered(function(Carbon $date) {
    return $date->isWeekend();
}, $dt2);

echo $daysForExtraCoding;

我有其他解决办法

$dt = Carbon::create(2014, 12, 31); // day end of month
$numberOfWeeks = $dt->weekOfMonth;

大家好,欢迎来到Stack Overflow。只有代码的答案通常不是很有用,除非它们解释了它们的功能。对于长代码段来说,这是非常正确的。请考虑对您更改或写入的内容进行解释。我认为这里不需要解释,因为这是3行代码。1,2行正在创建日期对象,第三行筛选日期。嗨,Max,谢谢你的回答。我同意@JasonMArcher的观点,它总是值得在代码中加以解释。最好假设阅读你答案的人对主题领域不熟悉,几句评论有助于澄清问题。