TransWikia.com

Diferencia de días entre dos fechas

Stack Overflow en español Asked on December 5, 2021

Tengo una tabla en la cual tengo dos campos llamados created_at y updated_at en una tabla llamada processes, lo que quiero hacer es comparar cuantos dias hay entre esos dos campos

Estoy utilizando laravel 6

controlador

$processes = Process::findOrFail(Crypt::decrypt(base64_decode($id)));
return view('clientes.show', compact('processes', 'histories', 'diligences', 'services', 'iva', 'dias'));

Consulta

SELECT TIMESTAMPDIFF(DAY,created_at, updated_at) AS days FROM processes 
WHERE id = 1

2 Answers

ya pude, puse esto en mi modelo y lo llamo en la vista blade

public function dias(){
        $fecha1 = date_create($this->created_at);
        $fecha2 = date_create($this->canceled_at);
        $dias = date_diff($fecha1, $fecha2)->format('%R%a');
        return $dias;
    }

blade

{{ $processes->dias() + 0 }}

Answered by Luis on December 5, 2021

Puedes usar el método diffInDays que ya provee Carbon en Laravel.

Deberías:

  • Tener tu modelo creado
  • Obtener la fecha antigua y asignarla en una variable
  • Obtener la fecha reciente y asignarla en una variable
  • El resultado en días lo almacenas en una tercer variable donde como argumento del método antes citado pasas la fecha mas reciente.

Ejemplo

$fechaAntigua  = Modelo::first()->created_at;
$fechaReciente = Modelo::first()->updated_at;

$cantidadDias = $fechaAntigua->diffInDays($fechaReciente);

EDICIÓN

Agrego un ejemplo de uso del método diffInDays() desde Tinker

>>> $fechaAntigua = AppUser::first()->created_at;

    => IlluminateSupportCarbon @989686800 {#3113
         date: 2020-05-01 18:37:21.0 America/Mexico_City (-05:00),
         timezone: "America/Mexico_City",
       }
>>> $fechaNueva = AppUser::first()->updated_at;

    => IlluminateSupportCarbon @1589413041 {#3127
         date: 2020-05-13 18:37:21.0 America/Mexico_City (-05:00),
         timezone: "America/Mexico_City",
       }
>>> $fechaAntigua->diffInDays($fechaNueva);

    => 12

Referencia

Answered by BetaM on December 5, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP