moment.js에서 날짜 만 비교하는 방법


107

moment.js를 처음 사용합니다. 날짜 개체가 있고 관련 시간이 있습니다. 비교할 시간을 제외하고 그 날짜가 오늘 날짜보다 크거나 같은지 확인하고 싶습니다 .

 var dateToCompare = 2015-04-06T18:30:00.000Z

dateToCompare가 오늘 날짜보다 크거나 같은지 확인하고 싶습니다. 나는 moment.js의 isSame을 확인했지만 문자열과 날짜 부분 만 취하는 것 같습니다. 그러나 내 날짜를 문자열로 변환하거나 더 이상 조작하고 싶지 않습니다. 해당 날짜를 문자열로 변환 할 때 (오프셋 또는 dst 등을 추가하는 것과 같은) 자바 스크립트가 예상치 못한 일을 할 수 있거나 내가 틀렸을 수 있다고 걱정하기 때문입니다.

문서의 isSame () 샘플

moment('2010-10-20').isSame('2010-10-20');

또한 하나의 문으로 결합 된 isSame () 및 isAfter () 같은 것을 찾고 있습니다.

moment.js 만 사용하여 비교해야합니다. 일반 자바 스크립트 날짜 비교를 제안하지 마세요.

답변:


183

문서는 세분성을 지정하기 위해 두 번째 매개 변수를 전달한다는 것이 매우 분명 합니다.

단위를 밀리 초 이외의 단위로 제한하려면 단위를 두 번째 매개 변수로 전달하십시오.

moment('2010-10-20').isAfter('2010-01-01', 'year'); // false
moment('2010-10-20').isAfter('2009-12-31', 'year'); // true

두 번째 매개 변수는 검사 할 단일 값이 아니라 정밀도를 결정하므로 day를 사용하면 년, 월, 일을 검사합니다.

귀하의 경우 'day'에는 두 번째 매개 변수로 전달 합니다.


1
감사! 문자열로 변환 할 필요가없는 것 같습니다. 그러나 우리는 () isSame ()와 isAfter에 대한 일반적인 방법이 있습니까
NoobGeek

2
나는 이미 그것을 사용했습니다. 감사! 공통 기능이 있는지 확인하고 싶었습니다. 둘 다 사용하는 것이 어렵지는 않습니다.
NoobGeek 2015

@kabirbaidhya, 상당한 규모의 원치 않는 편집을하기 전에 질문에 대한 의견을 게시하고 문제에 대한 답변을하는 것이 정중 한 것으로 간주됩니다. 편집 한 내용이 필요하다고 생각하지 않아 롤백했습니다. 정보가 중요하다고 생각되면 자신의 답변을 게시 해보십시오.
zzzzBov

4
보완하기 위해 : "두 번째 매개 변수는 검사 할 단일 값이 아니라 정밀도를 결정하므로 day를 사용하면 년, 월, 일을 검사합니다."
eveevans

6
@NoobGeek 이제 버전 2.10.7부터 isSameOrBefore () 및 isSameOrAfter ()가 있습니다.
WhiteHotLoveTiger 2016


6

제 경우에는 두 날짜를 비교하기 위해 다음 코드를 수행했습니다.

var date1 = "2010-10-20";
var date2 = "2010-10-20";
var time1 = moment(date1).format('YYYY-MM-DD');
var time2 = moment(date2).format('YYYY-MM-DD');
if(time2 > time1){
	console.log('date2 is Greter than date1');
}else if(time2 > time1){
	console.log('date2 is Less than date1');
}else{
	console.log('Both date are same');
}
<script src="https://momentjs.com/downloads/moment.js"></script>


6

startOf('day')방법을 사용 하여 날짜 만 비교할 수 있습니다.

예 :

var dateToCompare = moment("06/04/2015 18:30:00");
var today = moment(new Date());

dateToCompare.startOf('day').isSame(today.startOf('day'));
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.