JavaScript에서 Date 객체가 있고 정확한 날짜 수를 정수와 같이 발견해야합니다 (당시와 현재 날짜 사이). 같은 달에있는 경우이 작업을 수행하는 방법을 알고 있지만 과거의 모든 날짜에 정상적으로 작동해야합니다. 같은 육체적 인 날 (자정 이후) 인 경우 0, 가장 최근 자정 (이전 신체 일) 이전 인 경우 1 등이 표시되어야합니다. 자정은 24 시간이 아닌 새로운 날을 여행합니다. 나는이 글을 직접 써 보았지만, 한 달의 날짜 수가 바뀌면서 문제가되었다. Date 객체와 현재 시간은 이미 현지 시간대에 있어야하므로 여기에서 시간대는 중요하지 않습니다.JavaScript 날짜 객체와 현재 날짜 사이의 일 수를 얻습니다.
0
A
답변
1
시작 시간과 종료 시간의 차이를 계산합니다.
function calc(begin, end) {
//suppose begin, end are two Date Object to calc
var diffmsec = end.getTime() - begin.getTime();
var diffday = Math.floor(diffmsec/(3600*24*1000));
var remainder = diffmsec % (3600*24*1000);
var beginDayTime = begin.getHours()*3600*1000 + begin.getMinutes()*60*1000
+ begin.getSeconds()*1000 + begin.getMilliseconds();
//if [beginDayTime] + [remainder] > 1 day, [diffday]++
if (beginDayTime + remainder > 24*3600*1000){
diffday++;
}
return diffday;
}
0
function parseDate(dateString) {
var mmddyy = dateString.split('/')
return new Date(mmddyy [2], mmddyy [0]-1, mmddyy [1]);}
function daydiff() {
return (parseDate($('#second').val())-parseDate($('#first').val()))/(1000*60*60*24)}
alert(Math.floor(daydiff()));
0
/* 2014-01-15, 11:00 */
var date = new Date(2014, 0, 15, 11, 0);
var today = new Date();
Math.abs(Math.floor((date - today)/(1000*60*60*24)))