是否可以使用php自動更新每週的日期?例如,我有每週一更新的每週預測。標題會顯示「6月28日星期五預測」。自動更改日期周(php)
<h1>- Forecast for Friday June 28th -</h1>
然後在下面的星期一,我想自動更新標題中的日期到下一個發生的星期五。
這是可能的PHP?
是否可以使用php自動更新每週的日期?例如,我有每週一更新的每週預測。標題會顯示「6月28日星期五預測」。自動更改日期周(php)
<h1>- Forecast for Friday June 28th -</h1>
然後在下面的星期一,我想自動更新標題中的日期到下一個發生的星期五。
這是可能的PHP?
這是你在找什麼:
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
部分。
將預測視爲週五,週六和週日的預測,而不僅僅是週五。這是一個週末預測。 使用字符串時間函數,並將其放入一個開關讓我控制什麼顯示很好。謝謝@MichaelRushton – zer0ruth
啊,我明白了。樂於幫助。 – MichaelRushton
是的。看看date()
用於格式化和strtotime()
快速創建相對時間戳:
下面應該讓你開始:
echo date('l F jS', strtotime('monday'));
注:如果你使用PHP> 5.3,你應該看看DateTime class。
這是非常簡單的編碼解釋儘可能簡單。如果$ 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>
$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');
很容易獲得日期(「年月日」)函數的日期,但是對於日子裏,你可能會考慮PHP庫或本地擴展 – mpm
於是就Satuday 29日,它會顯示預測前一天? – MichaelRushton
是的,週六29日它仍會顯示週五的預測。這是整個週末的預測。 – zer0ruth