【问题标题】:Time change depends on day时间变化取决于天
【发布时间】:2014-01-25 11:03:24
【问题描述】:

我想创建一个脚本,您将获得的时间取决于当天。

如果这是一个正常的工作日,它应该回显当前日期,但如果时间是下午 4 点,它应该回显 +2 天,但时间 4pm 和星期六/星期日,那么它应该在星期五和星期六和星期二在星期天回响,因此还应该有一个倒计时,例如:“在....内订购(取决于直到明天下午 4 点或当天下午 4 点)"

例如

今天是星期一下午 3 点:客户在星期二有 1 小时的时间购买以获取产品,因此代码应显示:“1 月 28 日星期二想要吗?在 00 小时 57 分钟内订购”

今天是星期一下午 6 点:客户现在有时间购买它,直到明天下午 4 点才能在星期三得到它,因此代码应显示:“W Want it it Wednesday, Jan 29? Order in 22 hrs 00 mins”

.. .. ..

今天是星期五下午 3 点:客户在星期六有 1 小时的时间购买以获取产品,因此代码应回显:“想要星期六,$date ?在 00 小时 57 分钟内订购”

今天是星期五下午 5 点:客户在星期一有 1 小时的时间购买以获取产品,因此代码应回显:“星期一想要,$date?在 $timer 内订购”

今天是星期六下午 3 点/下午 6 点:客户现在有时间购买它,直到明天下午 4 点才能在星期一得到它,所以代码应该回显:“星期二想要,$date?在 $timer 内订购(倒计时到星期一下午 4 点)”

今天是周日下午 3 点/下午 6 点:客户现在有时间购买它,直到明天下午 4 点才能在周一得到它,因此代码应回显:“周二想要,$date?在 $timer 内订购(倒计时到周一下午 4 点)”

$time = new DateTime('today 4 PM');

$now = new DateTime('now');

// check if current time is past 6 PM

if ($now > $time) {
    $time = new DateTime('tomorrow 4 PM');
}
$diff = $time->diff($now);    

    $dw = date( "w");
    if ($dw == 6 || $dw == 0) {
        $datetime = new DateTime('today');
        if ($dw == 6) {
            $datetime->modify('+3 day');
        } else {
            $datetime->modify('+2 day');
        }
        echo "Contact us again at: " . $datetime->format('Y-m-d');
    } else {
        //echo "<span>Today is:</span> " . date('<b>l jS \of F Y</b>')."<br/>";

        $datetime = new DateTime('today');
        $datetime->modify('+1 day');


    }



        echo "Delivery: ". $datetime->format('<b>l, d F</b>') . ": <span style ='color:#198504'>Order in: </span> ";
        echo $diff->format("<span style ='color:#198504'>%h hours und %i Minutes.</span>");
    }

我可以改变什么让脚本按我想要的方式工作

【问题讨论】:

  • 向我们展示您迄今为止的尝试。所以不是为了让你的代码为你编写。关于你的问题:date('N') &gt;= 6
  • 我更新了问题并将其也包含在内!

标签: php time depends


【解决方案1】:
<?php
//its the time 0-23
$hour = date(" H ");
//its the day of week 1 to 7. "1 is monday."
$weeksday = date(" N ");
$weeksdayname = date(" l ");

echo $weeksdayname.' Time: '.($hour+1);

if($weeksday < 5 || ($weeksday == 5 && ($hour+1) < 16)) {
    echo "<br>Friday before 4 PM. and Weekday.";
    if ($weeksday = 1) { //if its monday
        echo "Contact us on Wednesday."
    }
    else if ($weeksday = 2 && ($hour+1) > 16) { //if its tuesday
        echo "Contact us on Thursday."
    }
    else if ($weeksday = 3 && ($hour+1) >  16) { //if its wednesday
        echo "Contact us on *****."
    }
    else if ($weeksday = 4 && ($hour+1) > 16) { //thursday
        echo "Contact us on *****."
    }
    else if ($weeksday = 5 && ($hour+1) > 16) { //friday
        echo "Contact us on *****."
    }
}
else { //Friday after 4PM till monday 00:00
    echo "<br>Weekend.";
}

?>

【讨论】:

  • 您可以随意更改回声。
  • 但是时间功能是什么
  • 什么意思?你能解释清楚一点吗?
  • 因此,如果时间超过下午 4 点(限制),它应该回显倒计时到前一天的 +1 天。如果是星期一下午 5 点,它应该在星期二回显倒计时,但应该回显“想要它,1 月 29 日星期三?在 $countdown 内订购(倒计时到星期二下午 4 点(他可以在第二天购买并得到它的时间)”但是如果是星期五下午 3 点,那么 echo Want it 2 月 1 日星期六?在 $countdown 内订购(倒计时到星期五下午 4 点)”,如果是星期五下午 5 点或星期六星期日,则 echo Want it, 2 月 4 日星期二?在 $countdown 内订购(倒计时到星期一下午 4 点)”
猜你喜欢
  • 1970-01-01
  • 2021-07-06
  • 2018-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多