首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取当前季度天数的简单方法?

获取当前季度天数的简单方法?
EN

Stack Overflow用户
提问于 2009-08-05 16:51:01
回答 9查看 47.9K关注 0票数 23

PHP提供了获取当月当前日期(date('j'))和一年中当前日期(date('z'))的方法。有没有办法获取本季度当天的数字?

现在,8月5日,是第三季度的36天。

如果没有标准的计算方法,有没有现成的(最好是基于PHP的)算法?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2009-08-05 17:44:47

我用下面的方法编写了一个类。好好享受吧。

代码语言:javascript
复制
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'));
}
票数 17
EN

Stack Overflow用户

发布于 2011-02-25 04:36:42

这样如何:

代码语言:javascript
复制
$curMonth = date("m", time());
$curQuarter = ceil($curMonth/3);
票数 81
EN

Stack Overflow用户

发布于 2012-12-16 07:07:46

代码语言:javascript
复制
function date_quarter()
{
    return ceil(date('n', time()) / 3);
}

代码语言:javascript
复制
function date_quarter()
{
    $month = date('n');

    if ($month <= 3) return 1;
    if ($month <= 6) return 2;
    if ($month <= 9) return 3;

    return 4;
}
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1234443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档