我有這個腳本,回顯即將到來的星期四,除非是星期三,因為它會在一周后顯示星期四。這很好用。
但我想要的是在星期三下午 5 點(格林威治標準時間 17:00 1 / CEST)添加截止時間。因此,在下午 5 點之前,它仍會顯示下周四(后天),但在下午 5 點之后,它應該會在下周四顯示。我似乎無法弄清楚如何添加它,希望有人知道解決方案!
<?
$date = new DateTime();
if(date('D') == 'Tue' || date('D') == 'Wed') {
$date->modify('thursday next week');
} else {
$date->modify('next thursday');
}
$delivery_date = $date->format('d-m-Y');
?>
<?php echo $delivery_date; ?>
uj5u.com熱心網友回復:
一些反饋給你:
- 你的問題是“除非是星期三”,但你的代碼說除非是星期二或星期三
- 你創造
$date了DateTime()哪個很棒,但你沒有在你的if陳述中使用它。陳述句date('D')中的每個呼叫都if使用單獨的時間。時間將非常接近,但您應該使用$date您在檢查日期時創建的,例如$date->format('D') === 'Wed' - 您的代碼將根據服務器的時區作業。如果您需要處理其他時區,您將需要通過將
DateTimeZone物件傳遞給您的DateTime構造函式來指定,例如$date = new DateTime( 'now', $dateTimeZoneObj );,或在您的代碼之前手動設定時區。
解決您的問題的一種方法是在您的星期幾支票上添加下午 5 點支票,例如:
if( $date->format('D') === 'Wed' && (int)$date->format('G') >= 17 )
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/365234.html
下一篇:PHP爆炸回圈達到價值
