답변
당신이 C#에서 DIFF 기능을 원하는 경우 08:00:00
같은;
DateTime oldDate= "06/01/2014 12:00:00 AM";
TimeSpan timeDiff = DateTime.Now - oldDate;
int diff =Convert.ToInt32(timeDiff.TotalHours);
스크립트 블록이 도움이되는 JavaScript로 원한다면;
function diffDateTime(startDT, endDT) {
if (typeof startDT == 'string' && startDT.match(/^[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}[amp ]{0,3}$/i)) {
startDT = startDT.match(/^[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}/);
startDT = startDT.toString().split(':');
var obstartDT = new Date();
obstartDT.setHours(startDT[0]);
obstartDT.setMinutes(startDT[1]);
obstartDT.setSeconds(startDT[2]);
}
else if (typeof startDT == 'string' && startDT.match(/^now$/i)) var obstartDT = new Date();
else if (typeof startDT == 'string' && startDT.match(/^tomorrow$/i)) {
var obstartDT = new Date();
obstartDT.setHours(24);
obstartDT.setMinutes(0);
obstartDT.setSeconds(1);
}
else var obstartDT = new Date(startDT);
if (typeof endDT == 'string' && endDT.match(/^[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}[amp ]{0,3}$/i)) {
endDT = endDT.match(/^[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}/);
endDT = endDT.toString().split(':');
var obendDT = new Date();
obendDT.setHours(endDT[0]);
obendDT.setMinutes(endDT[1]);
obendDT.setSeconds(endDT[2]);
}
else if (typeof endDT == 'string' && endDT.match(/^now$/i)) var obendDT = new Date();
else if (typeof endDT == 'string' && endDT.match(/^tomorrow$/i)) {
var obendDT = new Date();
obendDT.setHours(24);
obendDT.setMinutes(0);
obendDT.setSeconds(1);
}
else var obendDT = new Date(endDT);
var secondsDiff = (obendDT.getTime() - obstartDT.getTime()) > 0 ? (obendDT.getTime() - obstartDT.getTime())/1000 : (86400000 + obendDT.getTime() - obstartDT.getTime())/1000;
secondsDiff = Math.abs(Math.floor(secondsDiff));
var oDiff = {}; // object that will store data returned by this function
oDiff.days = Math.floor(secondsDiff/86400);
oDiff.totalhours = Math.floor(secondsDiff/3600); // total number of hours in difference
oDiff.totalmin = Math.floor(secondsDiff/60); // total number of minutes in difference
oDiff.totalsec = secondsDiff; // total number of seconds in difference
secondsDiff -= oDiff.days * 86400;
oDiff.hours = Math.floor(secondsDiff/3600); // number of hours after days
secondsDiff -= oDiff.hours * 3600;
oDiff.minutes = Math.floor(secondsDiff/60); // number of minutes after hours
secondsDiff -= oDiff.minutes * 60;
oDiff.seconds = Math.floor(secondsDiff); // number of seconds after minutes
return oDiff;
}
사용법;
var objDiff = diffDateTime('06/01/2014 12:00:00 AM', 'now');
var dtdiff = objDiff.days + ' days, ' + objDiff.hours + ' hours, ' + objDiff.minutes + ' minutes, ' + objDiff.seconds + ' seconds';
중요 : 당신은 날짜 시간 형식에 있어야 기억해야 EN-US 형식 일/월/년시 : 분 : 초.
그는 자바 스크립트로 원합니다. –
은 diff 함수가 아닌 두 날짜간에 차이점을 찾아야합니다. 감사 – user3710962
난 당신이 JQuery와에게 date.js 라이브러리를 사용해야하고 아래처럼 그 시간 범위 클래스를 사용할 수있는 제안 :
var future = Date.parseExact("22:30:00", "hh:mm:ss");
var past = Date.parseExact("06:30:00", "hh:mm:ss");
var span = new TimeSpan(future - now);
와 시간에 차이는 다음과 같습니다 :
span.getHours() + ":" span.getMinutes() + ":" span.getSeconds()
당신은 많이 있습니다 전체 날짜 개체를 사용하여이 유형의 수학을 수행하는 것이 더 좋으며, 그렇지 않으면 시작 시간이 완료 시간보다 작 으면 다음 날에 있어야하는 등의 시간 값을 추측해야합니다.
다음은 두 가지 도우미 기능과 차이를 가져 오는 주요 기능을 포함합니다.
// Convert h:m:s to seconds
function hmsToSecs(s) {
var b = s.split(':');
return b[0]*3.6e3 + b[1]*60 + +b[2];
}
// Convert seconds to hh:mm:ss
function secsToHMS(n) {
function z(n){return (n<10? '0':'') + n;}
var sign = n < 0? '-' : '';
n = Math.abs(n);
return sign + z(n/3.6e3|0) + ':' + z(n%3.6e3/60|0) + ':' + z(n%60);
}
// Calculate time difference between two times
// start and finish in hh:mm:ss
// If finish is less than start, assume it's the following day
function timeDiff(start, finish) {
var s = hmsToSecs(start);
var f = hmsToSecs(finish);
// If finish is less than start, assume is next day
// so add 24hr worth of seconds
if (f < s) f += 8.64e4;
return secsToHMS(f - s);
}
console.log(timeDiff('22:30:00','06:30:00')); // 08:00:00
console.log(timeDiff('06:30:00','22:30:00')); // 16:00:00
전체 날짜 객체를 사용하여 수행 할 수 있습니다
var start = new Date(2014,5,5,22,30); // 22:30:00 on 5 June 2014
var finish = new Date(2014,5,6,6,30); // 06:30:00 on 6 June 2014
// Subtract dates to get difference in ms, convert to seconds and format
console.log(secsToHMS((finish - start)/1000)); // 08:00:00
console.log(secsToHMS((start - finish)/1000)); // -08:00:00
- 1. 24 시간 형식의 시간 표시?
- 2. 24 시간 형식의 gridcontrol syncfusion
- 3. 24 시간 이내 날짜 형식의 시간 만
- 4. 정규 표현식으로 24 시간 형식의 시간 일치
- 5. 24 시간 형식의 UIDatePicker 반환 값
- 6. 두 형식의 시차
- 7. iOS Safari에서 24 시간 형식의 시간 입력 유형 프리젠 테이션
- 8. 정렬 24 시간 시간
- 9. android에서 12 또는 24 시간 형식의 TimePicker 표시
- 10. 날짜가있는 24 시간 형식의 javascript/jquery 디지털 시계 스크립트
- 11. EXCEL - 빼기이 개 24 시간 형식의 초 및 밀리 초
- 12. 은 24 시간 형식의 문자열 시간과 날짜를 비교
- 13. SimpleDateFormat.getTimeInstance는 24 시간 형식을 무시합니다
- 14. DateTime 시간? 24 시간 형식으로
- 15. 24 시간 가동중인 서비스
- 16. PHP 24 시간 제한
- 17. Highcharts 24 시간 시계
- 18. UIDatePicker 24 시간
- 19. 24 시간 형식으로
- 20. 24 시간 이상 형식
- 21. 24 시간 올바르게 처리하기
- 22. 두 시간 형식의 시간 차이
- 23. 시차
- 24. 12 시간/24 시간 형식의 시간 문자열을 C#으로 비교하는 방법은 무엇입니까?
- 25. 지난 24 시간 동안 날짜 필드가있는 레코드 찾기
- 26. 12 시간 형식의 new_time 반환 시간
- 27. Ruby에서 12 시간 24 시간 형식으로 변환
- 28. WP7 TimePicker 24 시간 형식으로 시간 선택
- 29. 평균 시간 계산 24 시간 이상
- 30. 오라클에서 24 시간 시간 12 시간으로 변환
왜 대답은 16시 0분 0초이어야한다? –
그 시간 문자열을':'로 나눈 다음 수학을하고 수학 결과를 합치십시오. – Epsil0neR
나는 수학 함수를 사용해 보았지만, 출력은 08:00:00이 아닌 -16 : 00 : 00으로 표시합니다. – user3710962