php - если дата старше 6 месяцев назад - PullRequest
0 голосов
/ 07 февраля 2019

Я хочу, чтобы приведенный ниже код проверял дату создания клиента, если он был клиентом в течение 6 месяцев, цена повышается, поскольку это была акция.Я попробовал нижеследующее без радости, я думаю, что это просто использование месяца, а не год.Например, если клиент пришел на борт в сентябре, 6 месяцев будет следующим, и он никогда не изменится.

Спасибо

$created_date = date('m',strtotime($customer_order['created_at']));
            $current = date("m");

            $curmonth = date("m");

            $ordermonth = date("m",strtotime($udata['created_date']));
            $m_dff = $curmonth - $ordermonth;

            //print_r($m_dff."<br>");
            if($m_dff > 6){
                $unitcost = 19.99;

            }
            else{
                $unitcost = 14.99;
            }

Ответы [ 3 ]

0 голосов
/ 07 февраля 2019

strtotime() может использоваться более эффективно, чем в вашем примере, следующее должно сделать трюк

if(time() > strtotime($customer_order['created_at'] . ' +6 months')) {
    $unitcost = 19.99;
} else {
    $unitcost = 14.99;
}
0 голосов
/ 08 февраля 2019
$currentorder = date ('Y-m-d');
$createdaccount =  date('Y-m-d', strtotime("+6 months", 
strtotime($customer_order['created_at'])));

if($currentorder>=$createdaccount)
{
    $unitcost = 19.99;
}
else
{
    $unitcost = 14.99;
 }
0 голосов
/ 07 февраля 2019

Проверьте, работает ли это, используя объекты DateTime для сравнения.

//set a general time zone at top of script
date_default_timezone_set('Europe/Amsterdam');

// if created_at is a valid dateTime string
$created = new \DateTime($customer_order['created_at']);

$current = new \DateTime();

$sixMonth = $created->add(new \DateInterval(‘P6M’));

if ($created < $current) {
    // if created + 6 months is older than current
    $price = 19.99;
} else {
    $price = 14.99;
}

Для получения дополнительной информации см .: https://secure.php.net/manual/en/book.datetime.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...