【问题标题】:Stop countdown when day is a weekend PHP当一天是周末 PHP 时停止倒计时
【发布时间】:2020-08-03 11:35:55
【问题描述】:

我在我的网站上建立了一个倒计时计时器,它可以倒计时直到列表过期的剩余天数,以便客户和设计师能够有效地跟踪项目。当设计师周末不在办公室时,有什么方法可以让我在周末停止计时器?

<?php
    //start date
    //end date
    //echo date('yy-m-d H:i:s', strtotime($data->created));
    $date2 = date('yy-m-d H:i:s', strtotime($data->created . '+ '. $days));
    //echo '<br>'. $date2;
    $date = gmdate('U', strtotime($date2));
    //echo '<br>'. $date;           
    //echo '<br>' .time();
    $remaining = $date - time();
    //echo '<br>r=' . $remaining ; //get_option('date_format');2020-04-27 14:58:28
    // Get difference between both dates without DST
    $diff = $date - gmdate('U');
    // Days (in last day it will be zero)
    $diff_days = floor($remaining / (24 * 60 * 60));
    // Hours (in the last hour will be zero)
    $diff_hours = floor($remaining % (24 * 60 * 60) / 3600);
    if( $remaining >= 0 )
    {
        $days_remaining = floor($remaining / 86400);
        $hours_remaining = floor(($remaining % 86400) / 3600);
        $minutes_remaining = floor(($remaining % 3600) / 60);
        /*make red on last day*/
        $style = '';
        if($days_remaining < 1 or $days_remaining == 1 && $hours_remaining == 0){
            $style = 'style="color:#fb3a5e;"';
            echo 'Today';
        }
        else
        {
            echo '<span '.$style.'>'. $diff_days .' days and '. $diff_hours .' hours left</span>';
        }
    }
    else
    {
        echo 'Expired.';
    }
?>

【问题讨论】:

标签: php


【解决方案1】:

如果符合这个条件就跳过处理

<?php
if(date("l") != "Sunday" && date("l") != "Saturday")
{
//Process here
}
?>

你可以把你的逻辑包装在里面,它应该跳过时间的扣除。

【讨论】:

    【解决方案2】:

    下面的代码将满足您的要求。

    注意: 请注意,上面的 PHP 语句将时区设置为 GMT,需要适当地更改为您所需的时区。另请注意,任何时钟差异都可能与您的服务器时区/时钟设置有关。

    HTML 代码:

    <div id="delcta" style="<?php echo $css ?>">
    <p>Time left for Free Next Day Delivery: <span id="countdowntimer"></span></p>
    </div>
    

    PHP 脚本:

    <?php
    date_default_timezone_set('GMT');
    $currentTime = date('H:i:s');
    $currentDay = date('w');
    $delTimeStart = '00:00:00';
    $delTimeEnd = '24:00:00';
    if ($currentTime >= $delTimeStart && $currentTime < $delTimeEnd && $currentDay > 0 && 
    $currentDay < 6){
        $css = 'display: block;';
    } else {
        $css = 'display: none;';
    }
    ?>
    

    【讨论】:

      猜你喜欢
      • 2013-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-19
      • 2015-01-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多