2011-04-14 8 views
0

수정 날짜 및 시간 입력 양식이 있습니다. (예 : 23:30 - 04/14/2011)날짜 계산

두 번째 입력 시간이 있습니다. (예 : 다음날 00:15 - 다음 날)

어떻게 두 번째 입력 시각을 계산할 수 있습니까? 에는이 3 가지 변수 만 있습니다.

시차 상기 _에 2011년 4월 14일 시간 = B = 0시 15분에 23시 반 ___?

누구든지 나에게이 계산의 의미를 어떻게 보여줄 수 있습니까? 날짜 B를 찾는 방법!

감사합니다.

+2

정확히? 그 차이점은? –

+1

내가 궁금한 점은 무엇을하고 싶은지, 세 번째 변수는 무엇인지, 무엇을 계산해야하는지 잘 모르겠다. –

+0

제발 좀 더 설명해주십시오 ... – Fero

답변

0

이 작업을 수행하는 방법은 몇 가지가 있습니다. 아마 같은 것을 할 것입니다 : HTML에서

(양식 컨트롤, 라벨 등이 누락) : 당신의 PHP 양식 처리기에서 다음

<input name="date_from" type="text"> <!-- use some sort of javascript date popup control to format this properly--> 
<input type="text" name="hours_to"> <!-- remember to add validation to input --> 
<input type="text" name="mins_to"> <!-- remember to add validation to input --> 
<select name="day_to"> 
<option value="0">The same day</option> 
<option value="1">The next day</option> 
<option value="2">The day after that</option> 
</select> 

을 date_from가 유효한 날짜 형식으로되어 가정 :

$time_from = strtotime($_POST['date_from']); 
$time_to = str_to_time('Y-m-d 00:00:00', $time_from) //start of the day 
    + 86400 * (int) $_POST['day_to'] //86400 seconds in a day 
    + 3600 * (int) $_POST['hour_to'] //3600 seconds in an hour 
    + 60 * (int) $_POST['min_to'];  //60 seconds in a minute 

$sql_from = date("Y-m-d H:i:s", $time_from); 
$sql_to = date("Y-m-d H:i:s", $time_to); 

그런 다음 DB 삽입을 수행 할 수 있으며 물론 유효성 검사 등을받을 수 있습니다. 또한

, 한 strtotime()는 상대 시간 매개 변수를 사용할 수 있습니다 (예를 들어, '+ 일일')이 일을하는 또 다른 방법이 될 수 있습니다 더 많은 정보를 원하시면 PHP 매뉴얼을 확인 당신이 계산해야 할 무엇

0
var date1 = '23:30 - 04/14/2011'; 
    var date2 = '00:15 - the Next Day'; 
    var d1month = date1.split(' - ')[1].split('/')[0]; 
    var d1day = date1.split(' - ')[1].split('/')[1]; 
    var d1year = date1.split(' - ')[1].split('/')[2]; 
    var d1hour = date1.split(' - ')[0].split(':')[0]; 
    var d1min = date1.split(' - ')[0].split(':')[1]; 

    var d2hour = date2.split(' - ')[0].split(':')[0]; 
    var d2min = date2.split(' - ')[0].split(':')[1]; 

    var d = new Date(d1year, parseInt(d1month)-1, d1day, d1hour, d1min, 0, 0); 
    var d2 = new Date(d1year, parseInt(d1month)-1, parseInt(d1day)+1, d2hour, d2min, 0, 0);