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'));
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.