PHP提供了获取当月当前日期(date('j'))和一年中当前日期(date('z'))的方法。有没有办法获取本季度当天的数字?
现在,8月5日,是第三季度的36天。
如果没有标准的计算方法,有没有现成的(最好是基于PHP的)算法?
发布于 2009-08-05 17:44:47
我用下面的方法编写了一个类。好好享受吧。
public static function getQuarterByMonth($monthNumber) {
return floor(($monthNumber - 1) / 3) + 1;
}
public static function getQuarterDay($monthNumber, $dayNumber, $yearNumber) {
$quarterDayNumber = 0;
$dayCountByMonth = array();
$startMonthNumber = ((self::getQuarterByMonth($monthNumber) - 1) * 3) + 1;
// Calculate the number of days in each month.
for ($i=1; $i<=12; $i++) {
$dayCountByMonth[$i] = date("t", strtotime($yearNumber . "-" . $i . "-01"));
}
for ($i=$startMonthNumber; $i<=$monthNumber-1; $i++) {
$quarterDayNumber += $dayCountByMonth[$i];
}
$quarterDayNumber += $dayNumber;
return $quarterDayNumber;
}
public static function getCurrentQuarterDay() {
return self::getQuarterDay(date('n'), date('j'), date('Y'));
}
发布于 2011-02-25 04:36:42
这样如何:
$curMonth = date("m", time());
$curQuarter = ceil($curMonth/3);
发布于 2012-12-16 07:07:46
function date_quarter()
{
return ceil(date('n', time()) / 3);
}
或
function date_quarter()
{
$month = date('n');
if ($month <= 3) return 1;
if ($month <= 6) return 2;
if ($month <= 9) return 3;
return 4;
}
https://stackoverflow.com/questions/1234443
复制相似问题