Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

741
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda