몇 가지 고려해야 할 사항.
string
표현에서 새 Date
개체를 만들 때 YYYY-MM-DD
형식으로 지정하십시오. 이렇게하면 로케일 문제를 피할 수 있습니다.
두 날짜를 비교할 때 시간을 무시할 수 있으면 정확하게 동일한 시간으로 설정하십시오. 여기에있는 것처럼 보입니다.
마지막으로 Date.parse()
을 사용하여 개체가 유효한 날짜인지 확인하고 비교할 수있게하십시오. 보조 노트로
Demo
var today = new Date();
var idate = new Date('2014-09-02');
// The date entered by the user will have the same
// time from today's date object.
idate.setHours(today.getHours());
idate.setMinutes(today.getMinutes());
idate.setSeconds(today.getSeconds());
idate.setMilliseconds(today.getMilliseconds());
// Parsing the date objects.
today = Date.parse(today);
idate = Date.parse(idate);
// Comparisons.
if (idate == today) {
alert('Date is today.');
}
else if (idate < today) {
alert('Date in the past.');
}
else if (idate > today) {
alert('Date in the future.');
}
, 당신은 등 어려운 해결 날짜/시간 계산, 조작에 직면, 당신은
Moment.js
라이브러리를 사용할 수 있습니다. 정말 유용합니다.
Moment.js
문자열에서 새 Date 객체를 만드는 형식으로 날짜를 사용
if(today.getTime() == idate.getTime())
업데이트 된 바이올린을 참조하십시오 : 그러나==
는 항상 2 날짜가 동일한 사용하는 경우 확인, false를 돌려줍니다 '로케일 정보에 대한 문제를 피할 수 있습니다. (예 :'새로운 날짜 ('2014-09-02');). – melancia