PHP日期时间:根据月份,星期和星期几获取日期

时间:2013-04-09 12:34:37

标签: php datetime

我有三个参数,我希望得到确切的日期。我有以下参数:

Month : integer (01-12) |
Week of month : integer (01-05) |
Day of week : (Sunday-Saturday)

我有三个参数,我想要获取日期。

例如:

假设我的星期几和星期几为01 as month 01,那么它应该返回03-01-2014

假设:任何输入仅用于将来的日期。

2 个答案:

答案 0 :(得分:2)

使用strtotime。需要写出星期几和月份(2013年1月1日星期五),因此我将月份号码转换为名称。我假设星期几已经是“星期五”。

function calcDate($day,$week,$month)
{
  $thisYear = date("Y");

  $monthName = date("F", mktime(0, 0, 0, $month, 10)); //http://gilbert.pellegrom.me/php-month-number-to-month-name-the-easy-way/
  $query = $week." ".$day." ".$monthName;
  $outDate = strtotime($query." ".$thisYear));

  if (outDate < time())
  {
    $outDate = strtotime($query." ".($thisYear+1));
  }
  return date('d-m-Y', $outDate);
}

答案 1 :(得分:2)

我确信这可以扩展:

$month = 'January';
$week = 0;
$day = 'friday';
$year = date("Y") + 1;

$d = new DateTime();
$d->modify("first {$day} of {$month} {$year} +{$week} week");
echo $d->format('d/m/Y');