2012-07-05 5 views
0

startTime 13:30:00 endTime 14:15:00 (24 시간 형식)으로 html 표 셀을 드래그하여 가져 오는 중입니다. 에 HiddenField에서 내가 값이 상영 및 종료 시각 저장하고하는 것은경과 시간 확인 방법

   var hidStartTime=13:30:00; 
       var hidEndTime=14:15:00; 
난 다음 경고를 생성해야 startime 사용자 및 종료 시각이 과거 인 경우 현재 클라이언트 시스템 시간에 비교 확인해야

("당신은 과거에 대한 약속을 수정할 수 없습니다 시각."); 내가

  var todaysDate = new Date(); 
      var currentHour = todaysDate.getHours(); 
      var currentMinutes = todaysDate.getMinutes(); 

      if (currentHour < endTimeHour) 
      { 
       alert("You can not allow to fix appointment for past time."); 
       return false; 
      } 
+0

무엇이 당신 질문입니까? – roel

+0

사용자 시작 시간과 종료 시간이 현재 클라이언트 시스템 시간보다 과거인지 확인한 다음 알림 ""을 생성해야합니다. – John

답변

0

을 확인하려면 어떻게 당신이 추천 Date 객체를 비교할 수

// Get current date on the client machine 
var currentDateTime = new Date(); // "Thu, 05 Jul 2012 08:05:57 GMT" 

// Now if you have a date string of 8:30 on the same day 
var endDateTime = Date.parse("Thu, 05 Jul 2012 08:30:00 GMT"); 

if (currentDateTime > endDateTime) { 
    alert("..."); 
} 

힘든 부분은 함수 날짜가 인식 할 수있는 형식으로 날짜 문자열을 구성 할 수 있습니다. parse()

+0

kayo :이 시간을 비교하기위한 근원 var hidStartTime = 13 : 30 : 00; var hidEndTime = 14 : 15 : 00; 현재 기계 시간은 – John

+0

입니다. Achal이 정답을 게시 한 것처럼 보입니다. 또한 누군가 다른 시간대의 웹 사이트에 액세스하면 올바른 결과를 얻지 못할 수도 있습니다. –

+0

숨겨진 필드에 Timezone 정보와 "Thu, 05 Jul 2012 08:30:00 GMT"와 같은 절대 시간이 포함되면 좋을 것입니다. 서버 측은 그러한 문자열을 생성해야합니다. –

2

날짜가 오늘 인 것으로 가정하면 시작 및 종료 시간이있는 Date 객체를 만든 다음 현재 날짜와 비교할 수 있습니다.

var currDate = new Date(); 
var startDate = setTime(hidStartTime); 
var endDate = setTime(hidEndTime); 

// given an input string of format "hh:mm:ss", returns a date object with 
// the same day as today, but the given time. 
function setTime(timeStr) { 
    var dateObj = new Date();   // assuming date is today 
    var timeArr = timeStr.split(':'); // to access hour/minute/second 

    var hour = timeArr[0]; 
    var minute = timeArr[1]; 
    var second = timeArr[2]; 

    dateObj.setHours(hour); 
    dateObj.setMinutes(minute); 
    dateObj.setSeconds(second); 
    return dateObj; 
} 

// now we can subtract them (subtracting two Date objects gives you their 
// difference in milliseconds) 
if (currDate - startDate < 0 || currDate - endDate < 0) { 
    alert("Unfortunately, you can't schedule a meeting in the past. 
      We apologize for the inconvenience."); 
} 
+0

Achal : var startDate = setTime (hidStartTime); var endDate = setTime (hidEndTime); startDate 및 endDate 오늘 시작 날짜 – John

+0

오늘 날짜 또는 오늘 날짜 * 및 * 시간? 오늘과 같은 "날짜"를 반환해야하지만 시간은 다릅니다. –

+0

hidStartTime = 09 : 15 : 00에서보기 hidEndTime = 10 : 00 : 00 이제 현재 시간은 03:15:00이므로 경고를 확실히 생성해야하지만 그렇지 않습니다 – John