Estou com problema com um código que eu tenho em um sistema que estou desenvolvendo, esse código ele calcula o número de horas baseado na jornada de trabalho, o que acontece
um exemplo quando eu digitar dentro do formúlario a jornada dia no meu caso e 7:20 x 3 = ele me daria 22:horas, ao meu ver ele está multiplicando somente os minutos e também quando ele utrapassa 24horas eu não soma o total de horas segue o codigo, eu sei que está faltando alguma informação no código, se alguém do forúm puder me explicar aonde está o erro. para o codigo rodar certinho. desde de já muito obrigado.
// Tirei o ':s' do 'H:i:s' pois o formulario type="time" so envia 'H:i'
$datetime = DateTime::createFromFormat('H:i',$time,new DateTimeZone('America/Sao_Paulo'));
Utilizamos cookies e tecnologias semelhantes de acordo com a nossa Política de Privacidade, e ao continuar navegando, você concorda com estas condições.
Pergunta
Nahor Roberto
Bom dia, programadores
Estou com problema com um código que eu tenho em um sistema que estou desenvolvendo, esse código ele calcula o número de horas baseado na jornada de trabalho, o que acontece
um exemplo quando eu digitar dentro do formúlario a jornada dia no meu caso e 7:20 x 3 = ele me daria 22:horas, ao meu ver ele está multiplicando somente os minutos e também quando ele utrapassa 24horas eu não soma o total de horas segue o codigo, eu sei que está faltando alguma informação no código, se alguém do forúm puder me explicar aonde está o erro. para o codigo rodar certinho. desde de já muito obrigado.
<div class="container">
<div class="row">
<form action="painel_admin.php?acao=calcular" method="post" enctype="multipart/form-data">
<input type="hidden" name="action" value="create"/>
<div class="form-group col-sm-8">
<label class="titulo" for="id_produto">Horas</label>
<input type="time" class="form-control mr-2" name="time">
</div>
<div class="form-group col-sm-6">
<label class="titulo" for="id_produto">Dias</label>
<input type="number" class="form-control mr-2" name="mult">
</div>
<button class="btn btn-primary">Enviar</button>
</form>
<?php
if (!empty($_POST["action"]) && $_POST["action"] == "create") {
$time = $_POST["time"];
$mult = $_POST["mult"];
} else{
$time = "00:00";
$mult = "1";
}
// Tirei o ':s' do 'H:i:s' pois o formulario type="time" so envia 'H:i'
$datetime = DateTime::createFromFormat('H:i',$time,new DateTimeZone('America/Sao_Paulo'));
$minute = $datetime->format('i');
$datetime->modify('+' . ($minute * $mult) . 'minutes');
$datetime->modify('-' . $minute . 'minutes');
?>
<h3>Total de Horas:</h3><h4><?php echo $datetime->format('H:i'); ?></h4>
</div>
</div>
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.