나는 이것에 대한 몇 개의 게시물을 보았지만 내가 배운 것은 없습니다.
특정 날짜-타임 스탬프를 REST API에 보내야하며 다음과 같이 표시되어야합니다.
2014-01-17 00 : 00 : 00.000
따라서 두 개가 필요합니다. 하나는 현재 달의 첫날에 하나, 현재 달은 마지막 날에 있습니다.
2014-02-01 00 : 00 : 00.000
2014-02-28 00 : 00 : 00.000
다음 코드를 사용했습니다.
var date = new Date(),
y = date.getFullYear(),
m = date.getMonth(),
firstDay = new Date(y, m, 1),
lastDay = new Date(y, m + 1, 0),
querydate = '"_createdAt" : {"$gt" : "' +
y + '-' + m + '-' + firstDay + ' 00:00:00.000" , "$lt" : "' +
y + '-' + m + '-' + lastDay + ' 00:00:00.000"}';
그러나 이것은 브라우저의 dev 모드를 통해 얻은 출력입니다.
"_createdAt" : {"$gt" : "2014-1-Sat Feb 01 2014 00:00:00 GMT+0000 (GMT) 00:00:00.000" , "$lt" : "2014-1-Fri Feb 28 2014 00:00:00 GMT+0000 (GMT) 00:00:00.000"}}
보시다시피 정확한 연도를 제공하지만 월은 두 자리 숫자 여야하며 마지막과 첫날에는 전체 날짜를 제공해야합니다.
내가 이것을 어떻게 관리 할 수 있는지 어떤 아이디어?
지금 다른 게시물과 유사성이 보이십니까?
자바 스크립트
function padLeft(arg) {
if (arg < 10) {
arg = '0' + arg;
}
return arg;
}
function myFormat(dateObject) {
return [
dateObject.getFullYear(),
padLeft(dateObject.getMonth() + 1),
padLeft(dateObject.getDate())
].join('-') + ' 00:00:00.000';
}
var date = new Date(),
y = date.getFullYear(),
m = date.getMonth(),
firstDay = new Date(y, m, 1),
lastDay = new Date(y, m + 1, 0),
querydate = '"_createdAt" : {"$gt" : "' +
myFormat(firstDay) + ' , "$lt" : "' +
myFormat(lastDay) + '"}';
console.log(querydate);
산출
"_createdAt" : {"$gt" : "2014-02-01 00:00:00.000 , "$lt" : "2014-02-28 00:00:00.000"}
에 jsFiddle
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다