two restar por fechas fecha entre diferencia dates consulta con comparar buscar laravel laravel-5 php-carbon

laravel - restar - ¿Cómo comparar dos marcas de tiempo de carbono?



diferencia entre dos fechas carbon laravel (2)

Tengo dos marcas de tiempo, edited_at que creé y created_at (Laravel''s) ... En la base de datos, ambas tienen tipo timestamp y default value 0000-00-00 00:00:00 ... Pero

var_dump(edited_at variable) está dando cadena. Mientras var_dump(created_at variable) es object / Carbon. ¿Qué pasa con estas marcas de tiempo?

Tengo que comparar ambos después de convertirlos a enteros usando el formato (''U''). Solo puedo llamar a este método en Carbon Object. ¿Cómo puedo hacer eso?


Primero, Eloquent convierte automáticamente sus marcas de tiempo ( created_at , updated_at ) en objetos de carbono. Podrías usar updated_at para obtener esa bonita función, o especificar edited_at en tu modelo en la propiedad $dates :

protected $dates = [''edited_at''];

Ahora volvamos a tu pregunta real. El carbono tiene un conjunto de funciones de comparación:

  • eq() es igual
  • ne() no es igual
  • gt() mayor que
  • gte() mayor que o igual
  • lt() menos de
  • lte() menor que o igual

Uso:

if($model->edited_at->gt($model->created_at)){ // edited at is newer than created at }


Primero, convierta la marca de tiempo utilizando la funcionalidad elocuente incorporada, como se describe en esta respuesta .

Entonces puedes usar la función min() o max() Carbon para comparar. Por ejemplo:

$dt1 = Carbon::create(2012, 1, 1, 0, 0, 0); $dt2 = Carbon::create(2014, 1, 30, 0, 0, 0); echo $dt1->min($dt2);

Esto hará echo la menor de las dos fechas, que en este caso es $dt1 .

Ver http://carbon.nesbot.com/docs/