시작 달력 입력 상자와 끝 달력 입력 상자가 있습니다. 기본 시작 달력 입력 상자는 현재 날짜 30 일 전이고 종료 달력 입력 상자는 현재 날짜가됩니다. 여기 내 데이트 변수가 있습니다.
var today = new Date(),
dd = today.getDate(),
mm = today.getMonth(),
yyyy = today.getFullYear(),
month = ["January", "February", "March",
"April", "May", "June", "July", "August",
"September", "October" "November", "December"],
startdate = month[mm] + ", " + yyyy.toString();
종료 날짜는 var enddate = startdate - 30;
분명히 작동하지 않습니다.
따라서 현재 날짜가 2011 년 12 월 30 일이면 시작 날짜를 2011 년 12 월 1 일로 지정하고 싶습니다.
편집 : 내 질문에 대한 답변이 … 일종의. Date.today();
그리고 Date.today().add(-30);
일하지만 형식의 날짜가 필요합니다 January 13, 2012
. 아닙니다 Fri Jan 13 2012 10:48:56 GMT -055 (EST)
. 도움이 필요하세요?
추가 편집 :이 글을 쓰는 현재 2018 년 입니다. Moment.js를 사용 하십시오 . 그게 제일이야.
답변
우수한 Datejs JavaScript 날짜 라이브러리를 사용해보십시오 (원본은 더 이상 유지되지 않으므로 대신 이 적극적으로 유지되는 포크에 관심 이 있을 수 있습니다 ).
Date.today().add(-30).days(); // or...
Date.today().add({days:-30});
[편집하다]
우수한 Moment.js JavaScript 날짜 라이브러리 도 참조하십시오 .
moment().subtract(30, 'days'); // or...
moment().add(-30, 'days');
답변
이 시도
var today = new Date()
var priorDate = new Date().setDate(today.getDate()-30)
@Neel에서 언급했듯이이 메서드는 Javascript Timestamp 형식으로 반환됩니다. 다시 날짜 개체로 변환하려면 위의 내용을 새 Date 개체에 전달해야합니다. new Date(priorDate)
.
답변
다음은 추악한 해결책입니다.
var date = new Date(new Date().setDate(new Date().getDate() - 30));
답변
startDate = new Date(today.getTime() - 30*24*60*60*1000);
이 .getTime()
메서드는 일반 수학 연산을 사용할 수있는 표준 JS 타임 스탬프 (970 년 1 월 1 일 이후의 밀리 초)를 반환하며,이를 Date 객체에 직접 피드백 할 수 있습니다.
답변
오늘부터 30 일 후
let now = new Date()
console.log('Today: ' + now.toUTCString())
let next30days = new Date(now.setDate(now.getDate() + 30))
console.log('Next 30th day: ' + next30days.toUTCString())
오늘 지난 30 일 양식 받기
let now = new Date()
console.log('Today: ' + now.toUTCString())
let last30days = new Date(now.setDate(now.getDate() - 30))
console.log('Last 30th day: ' + last30days.toUTCString())
답변
자바 스크립트는 외부 라이브러리없이 처리 할 수 있습니다.
var today = new Date();
var dateLimit = new Date(new Date().setDate(today.getDate() - 30));
document.write(today + "<br/>" + dateLimit)
답변
쉬운.(Using Vanilla JS)
let days=30;
this.maxDateTime = new Date(Date.now() - days * 24 * 60 * 60 * 1000);
ISOFormat?
let days=30;
this.maxDateTime = new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString();