현재 날짜로부터 30 일 전에받는 방법은 무엇입니까?
시작 달력 입력 상자와 끝 달력 입력 상자가 있습니다. 기본 시작 달력 입력 상자는 현재 날짜 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 객체에 직접 피드백 할 수 있습니다.
Javascript는 외부 라이브러리 없이도 처리 할 수 있습니다.
var today = new Date();
var dateLimit = new Date(new Date().setDate(today.getDate() - 30));
document.write(today + "<br/>" + dateLimit)
오늘부터 30 일 후
let now = new Date()
console.log('Today: ' + now.toUTCString())
let next30days = new Date(now.setDate(now.getDate() + 30))
console.log('Next: ' + next30days.toUTCString())
오늘 지난 30 일 양식 받기
let now = new Date()
console.log('Today: ' + now.toUTCString())
let last30days = new Date(now.setDate(now.getDate() - 30))
console.log('Previous: ' + last30days.toUTCString())
나는 date.js를 사용 합니다 . 이를 쉽게 처리하고 모든 윤년의 불쾌 함을 처리합니다.
순간 js 를 선호합니다
startDate = moment().subtract(30, 'days').format('LL') // January 29, 2015
endDate = moment().format('LL'); // February 28, 2015
쉬운.
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();
이것은 ES6 버전입니다
let date = new Date()
let newDate = new Date(date.setDate(date.getDate()-30))
console.log(newDate.getMonth()+1 + '/' + newDate.getDate() + '/' + newDate.getFullYear() )
Node JS에서 moment를 사용하여 한 줄의 코드를 통해 간단하게 수행 할 수 있습니다. :)
let lastOneMonthDate = moment().subtract(30,"days").utc().toISOString()
UTC 형식을 원하지 않음, EASIER : P
let lastOneMonthDate = moment().subtract(30,"days").toISOString()
momentjs에 관심이 없다면 다음을 사용할 수 있습니다.
let x = new Date()
x.toISOString(x.setDate(x.getDate())).slice(0, 10)
기본적으로 현재 날짜 (당월 날짜의 숫자 값)를 가져 와서 값을 설정합니다. 그런 다음 순수한 숫자 날짜 (예 : 2019-09-23)를 잘라내는 ISO 형식으로 변환합니다.
누군가에게 도움이되기를 바랍니다.
참고 URL : https://stackoverflow.com/questions/8842732/how-to-get-30-days-prior-to-current-date
'developer tip' 카테고리의 다른 글
MySQL 비밀번호가 만료되었습니다. (0) | 2020.10.06 |
---|---|
+ 연산자가 C에서 구현되는 방식입니까? (0) | 2020.10.06 |
날짜를 확인하는 PHP Regex는 YYYY-MM-DD 형식입니다. (0) | 2020.10.06 |
오류 : zip 파일을 열지 못했습니다. (0) | 2020.10.06 |
텍스트 파일의 줄 수를 효율적으로 계산합니다. (0) | 2020.10.06 |