how to use the date interval to count days?

1

How can I use date interval to count when to register a product, for example I register the product day 8 I want that from 15 days this product is no longer a new product, or when it is 23 this product is no longer how can I do this using date interval ?

code:

 $criacao_produto = new DateTime($data);
 $dias = $criacao_produto->diff(new DateTime())->d;
    if($dias < 2)
      echo "Produto e novo";
    else
      echo "produto velho"
    
asked by anonymous 09.10.2015 / 19:24

3 answers

1

You can pick up the product creation date and calculate the difference (compared to today) with diff()

<?php

$produto = new stdClass();
$produto->dataCriacao = new DateTime('2015-10-01');

$dias = $produto->dataCriacao->diff(new DateTime())->d;
if($dias >= 15){
    echo "produto velho, adiciado há $dias dias";
}else{
    echo "produto adicionado há $dias dias";
}

Or in a simplified way:

$criacao_produto = new DateTime('2015-10-01');
$dias = $criacao_produto->diff(new DateTime())->d;
echo "criado há $dias dias";
    
09.10.2015 / 19:45
1

If you want MYSQL has DATEDIFF. Use the function.:

DATEDIFF(data1,data2)

will return the days of difference.

Example usage.:

SELECT DATEDIFF('2016-10-09','2016-10-01') AS QuantidadeDias

Result = 8

For the example you gave:

Select CASE WHEN  DATEDIFF(CURDATE(),DataProduto)<15 THEN 'Sim' ELSE 'Não' END AS Novo
    
09.10.2015 / 20:06
0

Here is an example of a countdown in jquery:

link

And another in Angular JS:

link

    
09.10.2015 / 20:45