Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luthien

Gerar Hora Aleatória dentro de um intervalo

Recommended Posts

Boa noite,

 

Preciso gerar uma hora aleatória entre a hora de entrada de um comprovante e 23:59:59. A função que fiz está gerando um monte de horas '00:00:00' e maiores que 23:59:59, como 35:00:00: 29:00:00. Não tenho ideia do pq disso estar acontecendo.

delimiter $
create procedure InsereDadosRecibo(idcomp int)
begin    
    declare vDataEntrada date;
    declare vHoraEntrada, vHoraSaida time;
    declare vIDCat int;
    declare vPlacacar varchar(45);
    declare vTaxaHoraria double;
select Comprovante.DataEntrada,
Comprovante.HoraEntrada,
Comprovante.HoraEntrada  + floor(time_to_sec(Comprovante.HoraEntrada) + (rand()*(86400-time_to_sec(Comprovante.HoraEntrada)))),
Comprovante.IDCategoria,
Comprovante.PlacaCarro
into vDataEntrada,vHoraEntrada,vHoraSaida,vIDCat,vPlacacar
from Comprovante where Comprovante.IDComprovante = idcomp;
select Categoria.TaxaHoraria
into vTaxaHoraria from Categoria where Categoria.IDCategoria = vIDCat;
insert into estacionamento.Recibo(DataEntrada,HoraEntrada,HoraSaida,IDCategoria,Placacarro,ValorPago)
values(vDataEntrada, vHoraEntrada, vHoraSaida ,vIDCat, vPlacaCar,(((time_to_sec(vHoraSaida)-time_to_sec(vHoraEntrada))/60)/30)*vTaxaHoraria);
end
$

86400 é 24 horas em segundos. Alguém poderia me ajudar? Obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver!

delimiter $
create procedure InsereDadosRecibo(idcomp int)
begin    
    declare vDataEntrada date;
    declare vHoraEntrada, vHoraSaida time;
    declare vIDCat int;
    declare vPlacacar varchar(45);
    declare vTaxaHoraria double;
select Comprovante.DataEntrada,
Comprovante.HoraEntrada,
sec_to_time(floor(time_to_sec(Comprovante.HoraEntrada) + (rand()*(86400-time_to_sec(Comprovante.HoraEntrada))))),
Comprovante.IDCategoria,
Comprovante.PlacaCarro
into vDataEntrada,vHoraEntrada,vHoraSaida,vIDCat,vPlacacar
from Comprovante where Comprovante.IDComprovante = idcomp;
select Categoria.TaxaHoraria
into vTaxaHoraria from Categoria where Categoria.IDCategoria = vIDCat;
insert into estacionamento.Recibo(DataEntrada,HoraEntrada,HoraSaida,IDCategoria,Placacarro,ValorPago)
values(vDataEntrada, vHoraEntrada, vHoraSaida ,vIDCat, vPlacaCar,(((time_to_sec(vHoraSaida)-time_to_sec(vHoraEntrada))/60)/30)*vTaxaHoraria);
end
$

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por daemon
      Gostaria de tratar a data/hora de uma postagem.
      Por exemplo se postou menos de 1 hora fica.
      Há 30min
      Há 40min
      etc..
      Se postou depois de 1 hora.
      fica: 
      Há 1h
      Há 2h 
      etc...
      Se passar de 24 horas
      :fica
      Há 1 dia
      Há 2 dias
      etc..
    • Por daemon
      Preciso mostrar o intervalo em horas e minutos entre 2 registros.
       
       
      Por exemplo, tenho um campo data e hora que postei um conteudo (exemplo : 15:00).

      E tenho a hora atual (16:30).
       
      Preciso imprimir a quanto tempo foi postado.
       
      No caso volta aparecendo "30 minutos". se passar de 1 hora "1h e 5min" etc.. etc...
       
       
       
    • Por Roberto S. Santos
      Boa noite devs.
      Poderiam me ajudar ?
      Estou querendo fazer o seguinte em um formulário PHP...
      O usuário deve cadastrar a sua data e horário do uso na churrasqueira e quando chegar nesta data e no horário final ele apaga os dados do cadastro desta reserva.
      Como posso fazer isto com PHP ?
      Temos...
      data reserva
      hora reserva  (hora inicial)
      hora final (já vai estar pré definida na base de dados)
      Banco de Dados : clientes
      Tabela : reserva
      Deus abençoe a todos.
       
    • Por Alessandro Bodão
      Fala rapaziada! Tudo legal?
       
      Estou desenvolvendo um site onde coloquei uma espécie de 'relógio' nele, onde as pessoas veem que horas são, os minutos e segundos vão atualizando automático. Até aí tudo certo...
       
      No header do site tem um título principal (h1) que começa dando bom dia. Como as pessoas vão acessar o site em horários diferentes, tive a ideia do texto atualizar automaticamente pra boa tarde ou boa noite, relativo ao intervalo de tempo do relógio, mas não sou tão bom ainda com javascript. 
    • Por unset
      Olá, estou com um probleminha aqui se alguém puder ajudar,
       
      Eu tenho a data em uma coluna no formato date 2020-12-01 e a hora em outra coluna no formato time 09:00:00
       
      Como eu posso saber se a data de hoje é maior do que data e hora dessas 2 colunas?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.