2011-09-20 8 views
0

도서관 카드가 곧 또는 만료 될 때 고객에게 알려야합니다. 그들은 항상 볼 수있는 페이지가이 형식의 유효 기간을 표시HTML 찾기 날짜를 입력 한 다음 현재 날짜와 비교

EXP 날짜 : 2011년 10월 8일

또는

EXP 날짜 : MM-DD-YYYY

우선은 필요 그 날짜를 잡고 오늘 날짜와 비교하십시오. 그런 다음 후원자에게 카드가 30 일 이내에 만료되거나 카드가 이미 만료되었음을 알리는 방법으로 경고해야합니다.

문자열에서 그 날짜를 어떻게 잡아나요? 오늘 날짜와 어떻게 비교합니까? 향후 30 일 이내에 비교를 구별하려면 어떻게해야합니까? 각 시나리오에 대해 경고를 만드는 방법은 무엇입니까?

완벽한 솔루션을 찾고 있지 않습니다. 올바른 방향으로 지적해야합니다. 이것은 내가 날짜 분할 및 비교하고 결국 무엇을 어떤 도움을 크게 감사

,

. 완전한 초보자로서, 개념화가 더 쉬웠습니다. 그러나, 이것을 수행하는 조언과 청소기 방법을 자유롭게 주시기 바랍니다 ... 이제 html에서 날짜를 "파악"하는 방법을 알아야합니다.

도움 주셔서 감사합니다.

//below split date on hyphens 

var s = '10-3-2011'; 
var fields = s.split(/-/); 
var month = fields[0]; 
var day = fields[1]; 
var year = fields[2]; 

//below replace hyphens with slashes 
var slashDate = (month + "/" + day + "/" + year) 

// below convert string to date 
var patexpDate = new Date(slashDate); 

//below get todays date 
var todaysDate = new Date(); 

//below patron expiration date minus todays date 
var diffDates = (patexpDate - todaysDate) 


if (diffDates >= 0 && diffDates <= 2592000000) { 
alert('Your Library card expires in less than 30 days.'); 

} 

else if (diffDates < 0) { 
alert("Your Library card has expired."); 

} 

else alert('Card NOT expired.'); 
+0

이 http://stackoverflow.com/questions/1663999/javascript-test-if-date-in-string를 살펴 보자 :

이 연결하는 것을 잊었다, 그것은 자바 스크립트 날짜에 대한 모질라 데브 페이지 참조입니다 -format-is-more-than-30-before-ago –

답변

2

는 기본적으로, 당신은 당신의 요소의 HTML에서 날짜 구성 요소를 잡아해야합니다. 그런 다음

var expirationDate = new Date(day, (month - 1), year); 
// Remember, JavaScript uses 0-11 to represent months! 

현재 날짜를 얻을 : 데이터와 새로운 Date 개체를 확인한 다음

var components = dateString.split('-'); 

var day = components[1]; 
var month = components[0]; 
var year = components[2]; 

:

var dateString = someElement.innerHTML; 

그런 다음, 당신의 구분에 의해 각 구성 요소를 끌어 것을 분할 다음 몇 가지 간단한 수학을 수행하여 기간을 결정하십시오.

var now = new Date(); 

if(now.getTime() >= expirationDate.getTime()) 
{ 
    // Exp Date is in the past 
} 
else 
{ 
    // Exp date in the future 
} 

시작해야합니다.

0

만료 날짜를 얻는 간단한 방법이 있습니다. Javascript를 사용하면 문자열 변수를 전달하여 날짜를 구성 할 수 있습니다. 그래서 당신은 이런 식으로 할 수 있습니다.

var exDateString = dateElem.innerHtml, // comes out to your date as a string 10-08-2011 
    exDateObj = new Date(exDateString), // gives a data object with your expiration date 
    today = new Date(); 

이제는 정상적인 작동자가 만료되었는지 간단한 점검을 할 수 있습니다.

if (exDateObj >== today) { // if expiration date is greater than or equal to today 
    alert('Your card is expired'); 
} 

이 만료되지만/다른 문이 차이 시나리오를 통해 갈 경우에 당신이 단지를 통해 쓸 수있을 때까지 포위 방법 일 수를 얻을 수 없습니다 확인합니다.https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date

관련 문제