JavaScript에서 날짜를 1 일 줄이는 가장 간단한 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/31931

  •  09-06-2019
  •  | 
  •  

문제

JavaScript 날짜를 1 일 씩 줄여서 몇 달/년에 걸쳐 롤백해야합니다. 즉, '오늘'의 날짜가 있다면 '어제'날짜를 얻고 싶습니다.

이 작업을 수행 할 때 항상 필요한 것보다 더 많은 코드를 사용하는 것 같습니다. 따라서 더 간단한 방법이 있는지 궁금합니다.

가장 간단한 방법은 무엇입니까?

편집 : 아래의 답변에서 혼란을 피하기 위해 이것은 자바 스크립트 질문, 자바 하나가 아닙니다.

도움이 되었습니까?

해결책

var d = new Date();
d.setDate(d.getDate() - 1);

console.log(d);

다른 팁

var today = new Date();
var yesterday = new Date().setDate(today.getDate() -1);
 day.setDate(day.getDate() -1); //will be wrong

이것은 잘못된 날이 돌아올 것입니다. UTC -03 : 00에서 확인하십시오

var d = new Date(2014,9,19);
d.setDate(d.getDate()-1);// will return Oct 17

더 나은 사용 :

var n = day.getTime();
n -= 86400000;
day = new Date(n); //works fine for everything

getDate()-1 트릭을해야합니다

: 빠른 예 : 예 : : : : 예 : : 예 : : 예 : : 예 : : 예 : : 예 : 예 : : 예 : : 예 : 예 : : 예 : 예 : : 예 : 예 : : 예 : 예 : : 예 : 예 : : 예 : 예 : : 예 : 예 : : 예 : 예 : : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : : 예 : : 예 : : 예 : 예 : 예 : 예 : 예)

var day = new Date( "January 1 2008" );
day.setDate(day.getDate() -1);
alert(day);
origDate = new Date();
decrementedDate = new Date(origDate.getTime() - (86400 * 1000));

console.log(decrementedDate);

setDate(dayValue)

dayValue 월 1 일에서 31 일까지의 정수입니다.

~에서 https://developer.mozilla.org/en/core_javaScript_1.5_Reference/global_objects/date/setdate

문제를 해결하는 행동 (및 광산)은 사양 범위를 벗어난 것 같습니다.

필요한 것 같습니다. AddDate (), addMonth (), addyear () ... 함수입니다.

JS에서 날짜로 작업하는 것은 두통이 될 수 있습니다. 따라서 가장 간단한 방법은 사용하는 것입니다 Moment.js 모든 날짜 작업의 경우.

하루를 빼려면 :

const date = moment().subtract(1, 'day')
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top