2010-02-08 6 views
0

쉽지 만 현재 날짜에 "rental_period"라는 정수 변수를 추가 한 다음 DD/MM/YYYY 형식으로 표시하려고합니다.Javascript 변수 날짜 추가

duedate.setDate(duedate.getDate()+rental_period); 
    $("#pricing_due").html("DUE DATE: <strong>" + duedate.getDay() + "/" + duedate.getMonth() + "/" + duedate.getFullYear() + "</strong>"); 
+0

표시 문제가되는 날짜를 추가합니까? –

+0

오류가 발생합니까? 무슨 일 이니? –

+0

내 수정 구슬에 대여 기간이 너무 깁니다. 귀하의 날이 음수가 아니며 모든 달이 넘치지 않도록하십시오! – Anonymous

답변

0

자바 스크립트 날짜 시간은 밀리 초 단위로 저장됩니다. Your code should work as is :

따라서, 일의 숫자에 rental_period 가정, 당신은

편집 (1000 밀리 초 × 60초 × 60분 × 24 시간)

duedate.setTime(duedate.getTime() + rental_period * 24 * 60 * 60 * 1000); 

를 작성해야합니다.

+0

이것은 작동하지 않습니다.'getDate' /'setDate'는 요일 번호에서 작동합니다. – poke

+0

나는 이미 그것을 고쳤다. – SLaks

+0

감사합니다. DD/MM/YYYY 형식으로 표시하는 가장 좋은 방법은 무엇입니까? getDay, getMonth 및 getFullYear를 사용하는 현재의 접근 방식이 작동하지 않습니다. – alpheus

0

사용이 : 이것은 내 코드입니다

duedate.setTime(duedate.getTime() + rental_period); 

확인 rental_period는 밀리 초에서 값이 (쉽게 당신이 어떤에서 변환 할 수 수 확인, 예를 들어이 일이라면, 그냥 곱 24 * 60 * 60 * 1000).

편집 : 문제를 이해하지 못하는 사람들을 위해 는하여 setDate 하루 번호 (1 ~ 31)를 수신하고, 다른 값에 대해 정의되지 않은 (일부 브라우저에서 작동 할 수 있지만) 그것은 행동입니다. setTime은 예상대로 작동합니다.

http://www.w3schools.com/jsref/jsref_setDate.asp

+0

'setDate'는 제가 시도한 모든 브라우저에서 범위를 벗어난 값을 처리합니다. – SLaks

0

setDate은 날짜 개체의 날짜 만 수정합니다. 대신 다음과 같이 사용하십시오 :

var rentalPeriod, rentedDay, dueDate; 
rentalPeriod = 14 * 24 * 3600 * 1000; // in milliseconds, here: 14 days 
rentedDay = new Date(); // Date object of when the thing was rented 
dueDate = new Date((+rentedDay) + rentalPeriod);