每周自动更改日期(php)

时间:2013-06-25 15:15:33

标签: php

是否可以使用php自动更新每周的日期?

例如,我每周一更新一周的预测。标题会写成“6月28日星期五的预测”。

<h1>- Forecast for Friday June 28th -</h1>

然后在接下来的星期一,我想自动将标题中的日期更新为下一个星期五。

用pp这可能吗?

4 个答案:

答案 0 :(得分:1)

这就是你要找的东西:

switch (date('N'))
{

  case 5:
    $time = time();
    break;

  case 6:
  case 7:
    $time = strtotime('last Friday');
    break;

  default:
    $time = strtotime('next Friday');

}

echo date('l F jS', $time);

检查date功能是否有不同的格式选项。

虽然您确定要等到星期一,直到显示下周五的预测?当然它应该在星期六更新到下一周(否则你会预测过去的日期)?如果是这样,请删除case 6 / case 7部分。

答案 1 :(得分:0)

是。请查看date()进行格式设置,strtotime()快速创建相关时间戳:

以下内容可以帮助您入门:

echo date('l F jS', strtotime('monday'));

注意:如果您使用的是PHP&gt; 5.3你应该看看DateTime class

答案 2 :(得分:0)

编码非常简单,尽可能简单地解释。如果$ today不是星期五,该脚本将计算下周五之前剩余的天数。

希望能帮到你!

<?php
$now    = time(); // current timestamp
$today  = date("w", $now); // "w" returns the weekday (number)
$friday = 5; // 5th day of the week (sunday = 0)

if ($today == $friday) {
    $ts       = $now; // today is friday, don't change the timestamp
    $daysLeft = 0; // no days left!
} else {
    if ($today == 6) {
        $daysLeft = 6; // saturday is bigger then friday
    } else {
        $daysLeft = $friday-$today; // get the left days
    }

    $ts = $now + 84600 * $daysLeft; // now + seconds of one day * days left
}
?>

<h1>
    - Forecast for <?php echo date("D M d", $ts) ?>-
</h1>

答案 3 :(得分:0)

$currDay = date('w');
$delta = $currDay==6 ? 6 : 5-$currDay;

$date = new DateTime();
$date->add(new DateInterval('P'.$delta.'D'));
echo $date->format('D M jS');