簡體   English   中英

施力時間范圍

[英]Strtotime range

晚上好,我不得不承認我不太了解php。 實際上,我是一個初學者,我想要以下代碼的幫助。

此時,如果您今天下達具有begin_valability的訂單,則會收到消息“明天的最小接受開始date_valability”是“可以”。

如果begin_valability值大於,我將無法下訂單

2017-12-31。

先感謝您

#defined API * required


if (isset ($this -> _ params ['begin_valability'])) {
            
if ($this -> _ params ['begin_valability']! = null) {

#validate if begin_valability is valid
                
if ($this-> validateDate ($this -> _ params, 'Y-m-d') == false) {
                    WebApp_Mobile_Messages :: error ( '125');
                   return;
                }
                
                
$today = date("Y-m-d");
if ($today> = $this -> _ params ['begin_valability']) {
WebApp_Mobile_Messages :: error (0, "Minimum accepted start date_valability" . date("Y-m-d", strtotime("+1 day" )));
                    
return;
                }
             }   

PHP DateTime實例具有可比性。

可以以各種方式將datetime字符串轉換為DateTime實例,其中將所述datetime字符串作為參數傳遞以初始化新的DateTime對象。

$yearEnd = new DateTime('2017-12-31');

$beginValability = new DateTime($this->_params['begin_valability']);

下訂單前添加保護條款:

if ($beginValability > $yearEnd) return;

我會考慮將日期轉換為DateTime對象strtotime整數值 這樣就可以輕松比較兩個不同的日期。

例:

/* Defines before class definition */
define('MIN_VALABILITY_DATE_INTERVAL', strtotime('+1 days')); /* 1 day interval (as int) */
define('MAX_VALABILITY_DATE_STATIC', strtotime('2017-12-31')); /* Max specific date (as int) */
define('MAX_VALABILITY_DATE_INTERVAL', strtotime('+10 days')); /* 10 day interval (as int) */

/* ...function() */

    if(!empty($this->_params['begin_valability'])){
        if($this->validateDate($this->_params['begin_valability'], 'Y-m-d')){
            $begin_valability = strtotime($this->_params['begin_valability']);
            if($begin_valability >= MIN_VALABILITY_DATE_INTERVAL && $begin_valability <= MAX_VALABILITY_DATE_STATIC){
                /* succsess - do something */
            }else /* date out of range */{
                WebApp_Mobile_Messages::error('');
            }
        }else /* invalid date */{
            WebApp_Mobile_Messages::error('125');
        }
    }else /* begin_valability is empty */{
        WebApp_Mobile_Messages::error('');
    }
    return;

/* function end */

編輯: 顯然沒有必要使用這些定義,如果這些值不會在其他地方引用,則最好使用局部變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM