Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

745
Vistas
PHP Carbon: ¿cómo comparar una fecha y hora por minutos sin segundos?

Tengo una consulta para obtener las reservas que se realizaron en una fecha específica que se ejecuta mediante un cronjob (cada minuto). Sin embargo, parece que no puedo consultar las reservas redondeadas al minuto más cercano. ¿Cómo se puede lograr esto?

Booking::where('completed_at', now())->get();

Esta consulta solo permite comparar

Ymd H:i:s

como puedo comparar

Ymd H:i

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Hay dos soluciones que vienen a la mente:

 Booking::whereBetween('completed_at', [now()->startOfMinute(), now()->endOfMinute() ])->get();

Esto obtiene todo en el mismo minuto.

 Booking::where(\DB::raw("DATE_FORMAT(completed_at, '%Y-%m-%d %H:%i')"), now()->format('Ymd H:i'))->get();

Esto coincide con las fechas formateadas.

Prefiero el primer enfoque porque no necesita preocuparse por problemas de formato y también puede hacer uso de índices.

over 4 years ago · Santiago Trujillo Denunciar

0

Afirmar que now() ocurrirá exactamente cada 60.00 segundos es incorrecto, el cronjob se ejecuta cada 60 segundos +/- unos pocos ms, y el proceso de PHP antes de llamar a now() (y entre 2 llamadas de now() ) toma unos pocos µs a unos pocos ms dependiendo sobre las operaciones.

Por lo tanto, debe tener un campo como processed_by_the_cronjob que es false de forma predeterminada y lo establece en true una vez que su trabajo CRON lo consultó.

Luego seleccionas:

 Booking::where('completed_at', '<=', now())->andWhere('processed_by_the_cronjob', false)->get();

De lo contrario, de vez en cuando tendrá una reserva que se omitirá.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda