2026, 새로운 도약을 시작합니다.

select 박스로 시간을 입력받아 시간의 차이 계산하기 채택완료

php파일로 제작하였고 대여 시작 시간과 대여 종료 시간을 입력받아 대여시간을 자동으로 구하려고 하는데 가능할까요?3034959543_1622024031.3158.jpg

답변 5개

채택된 답변
+20 포인트

해당 페이지에서 바로 보여주려는 경우에는 javascript 로 처리해야 됩니다.

Copy




   대여 시작 시간 

   대여 종료 시간 

   대여 시간 





  

      

      시작 시간을 선택하세요

      2021-05-26 09:00:00

      2021-05-26 10:00:00

      2021-05-26 11:00:00

      2021-05-26 12:00:00

      2021-05-26 13:00:00

      

  

  

      

      종료 시간을 선택하세요

      2021-05-26 18:00:00

      2021-05-26 19:00:00

      2021-05-26 20:00:00

      2021-05-26 21:00:00

      2021-05-26 22:00:00

      

  

  

  

  





$(function() { 

    $('#StartTime, #EndTime').on('change', function() {

        var d1 = $('#StartTime').val();

        var d2 = $('#EndTime').val();

        

        if (date1 == '' || date2 == '')

            return false;

        

      var date1 = new Date(d1);

      var date2 = new Date(d2);

      

      var difference = Math.abs(date2.getTime() - date1.getTime());

      var hourDifference = difference  / 1000 / 3600;

      

      $('#s_hour').html(hourDifference);

    });

});



로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

아하 감사합니다 ㅠㅠㅠ 혹시 13시에서 18시까지 빌렸으면 대여시간에 7이 나타나도록 하려면 var hourDifference = difference / 1000 / 3600 / 60; 으로 해야하나요??
대여시간에 7이 나타나도록 하려면 var hourDifference = difference / 1000 / 3600 이 맞습니다.

new Date() 부분을 조금 수정하였습니다. 2021-05-26 => 2021/05/26

[code]
<script>
$(function() {
$('#StartTime, #EndTime').on('change', function() {
var d1 = $('#StartTime').val();
var d2 = $('#EndTime').val();

if (date1 == '' || date2 == '')
return false;

var date1 = new Date(d1.replace(/-/g, '/'));
var date2 = new Date(d2.replace(/-/g, '/'));

var difference = Math.abs(date2.getTime() - date1.getTime());
var hourDifference = difference / 1000 / 3600;

$('#s_hour').html(hourDifference + '시간');
});
});
</script>
[/code]

댓글을 작성하려면 로그인이 필요합니다.

Copy




   대여 시작 시간 

   대여 종료 시간 

   대여 시간 





  

      

      시작 시간을 선택하세요

      2021-05-26 09:00:00

      2021-05-26 10:00:00

      2021-05-26 11:00:00

      2021-05-26 12:00:00

      2021-05-26 13:00:00

      

  

  

      

      종료 시간을 선택하세요

      2021-05-26 18:00:00

      2021-05-26 19:00:00

      2021-05-26 20:00:00

      2021-05-26 21:00:00

      2021-05-26 22:00:00

      

  

    

  

  





$(function() { 

  $('#StartTime, #EndTime').on('change', function() {

        var d1 = $('#StartTime option:checked').text();

        var d2 = $('#EndTime option:checked').text();

        if (d1 == '' || d2 == '')

            return false;

        var date1 = new Date(d1);

        var date2 = new Date(d2);

        var difference = Math.abs(date2.getTime() - date1.getTime());

        var hourDifference = difference  / 1000 / 3600;

        $('#s_hour').val(hourDifference + '시간');

  });

});

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

Copy




   대여 시작 시간 

   대여 종료 시간 

   대여 시간 





  

      

      시작 시간을 선택하세요

      2021-05-26 09:00:00

      2021-05-26 10:00:00

      2021-05-26 11:00:00

      2021-05-26 12:00:00

      2021-05-26 13:00:00

      

  

  

      

      종료 시간을 선택하세요

      2021-05-26 18:00:00

      2021-05-26 19:00:00

      2021-05-26 20:00:00

      2021-05-26 21:00:00

      2021-05-26 22:00:00

      

  

  

  

  





$(function() { 

  $('#StartTime, #EndTime').on('change', function() {

        var d1 = $('#StartTime option:checked').text();

        var d2 = $('#EndTime option:checked').text();

        if (d1 == '' || d2 == '')

            return false;

        var date1 = new Date(d1);

        var date2 = new Date(d2);

        var difference = Math.abs(date2.getTime() - date1.getTime());

        var hourDifference = difference  / 1000 / 3600;

        $('#s_hour').html(hourDifference + '시간');

  });

});



로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

3034959543_1622027114.4635.jpg현재 이렇게 나타나고 있습니다 ㅜㅜ

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

var date1 = new Date(d1);
var date2 = new Date(d2);
->
var date1 = new Date(d1.replace(/-/g, '/'));
var date2 = new Date(d2.replace(/-/g, '/'));
지금 캡쳐본이 수정한 코드입니다. 계속 죄송합니다 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

$time1 = strtotime($t_start);

$time2 = strtotime($t_end);

$diff = $time2 - $time1 / 3600;

echo $diff . '시간';

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

[code]
<tr>
<td> 대여 시작 시간 </td>
<td> 대여 종료 시간 </td>
<td> 대여 시간 </td>
</tr>
<td>
<select name="StartTime" id="StartTime">
<option value="">시작 시간을 선택하세요</option>
<option value="1">2021-05-26 09:00:00</option>
<option value="2">2021-05-26 10:00:00</option>
<option value="3">2021-05-26 11:00:00</option>
<option value="4">2021-05-26 12:00:00</option>
<option value="5">2021-05-26 13:00:00</option>
</select>
</td>
<td>
<select name="EndTime" id="EndTime">
<option value="">종료 시간을 선택하세요</option>
<option value="1">2021-05-26 18:00:00</option>
<option value="2">2021-05-26 19:00:00</option>
<option value="3">2021-05-26 20:00:00</option>
<option value="4">2021-05-26 21:00:00</option>
<option value="5">2021-05-26 22:00:00</option>
</select>
</td>
<td>
<?php
$datetime1 = strtotime('StartTime');
$datetime2 = strtotime('EndTime');
$diff=$datetime2- $datetime1 / 3600;
echo $diff
?>
</td>
[/code]
혹시 이렇게 만들면 안되는건가요??

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고