이것은 주어진 이벤트의 첫 번째 날짜를 설정 한 다음 반복 기간을 설정할 수있는 시스템을위한 것입니다.원본 날짜가 지정된 연속 날짜를 효율적으로 계산하는 방법
예 : 지금부터 1 주일 간 날짜를 정했습니다. 19/07/2012에 고양이를 우유와 함께 넣어야한다는 것을 알고 있습니다. 또한 주간 통보로 설정 했으므로 앞으로 몇 주가 지나면 같은 통보를 받고 싶습니다.
원래 날짜가 내 데이터베이스에 있는데, 1 주째에는 괜찮지 만 2 주째에는 원래 날짜와 1 주일을 다시 입력해야합니다.
직면 해 보일 수도 있지만 윤년과 여러 재발 빈도 (2 주, 1 개월, 1 년 등)를 고려해야합니다.
저는 이것을 자바 스크립트 구현으로 유지하고 싶습니다. 빠른 것이기 때문에 데이터베이스의 날짜를 업데이트하는 것보다 코드가 덜 필요하기 때문입니다. 어쩌면 달성 할 수 없을지도 모릅니다. 어떤 포인터라도 우수 할 것입니다. 나는 거기에서, 각각 다른 경우에 추가하는 시간의 양을 반환 아래 작성한
Given a start date , how to calculate number of years till current date in javascript
업데이트 :
나는 이러한 출발점이 될 것 같아요 나는 (아마 최고의 솔루션을 어떻게 할 것인지var strDate = $(this).find('.next').text();
var frequency = $(this).find('.occurs').text();
var frmDate = getDateObject(strDate);
var toDate = new Date();
var days = parseInt(Math.floor((frmDate - toDate)/86400000));
if(days < 0) {
// find out how many WHOLE 'frequencies' have passed
var weeks = Math.ceil(0 - (days/7));
var months = Math.ceil(0 - (monthDiff(toDate,frmDate)));
var years = Math.ceil(months/12);
//alert(days + '/' + weeks + '/' + fortnights + '/' + months + '/' + quarters + '/' + years);
if(frequency == 'Weekly') { frmDate.add(weeks).weeks(); }
if(frequency == 'Fortnightly') { frmDate.add(weeks*2).weeks(); }
if(frequency == 'Monthly') { frmDate.add(months).months(); }
if(frequency == 'Quarterly') { frmDate.add(months*3).months(); }
if(frequency == 'Annually') { frmDate.add(years).years(); }
var newdate = frmDate.toString("dd/MM/yyyy");
//alert(newdate);
$(this).find('.next').text(newdate);
}
내가이의 데모를 볼 수 아래 바이올린에 동일하게 테스트 할 수 있습니다
일부 원시 아이디어를 다음 코드를 확인하시기 바랍니다 2012 년에?:) 나는 같은 문제에 직면했고 그것의 재발 부분을 구현하는 데 문제가있었습니다. 어떤 도움이라도 감사 할 것입니다. 감사. – Superman