IT/Nexacro 17

시간 차이, 소요 시간 계산

Dev. Sean 2022. 3. 31. 11:22
반응형

시스템 최초 장애 발생 시간을 시스템 로그에서 호출하고

장애가 종료된 시간과의 차이를 구해

총 장애시간을 구해야했다.

var OccurDate = this.DivFailureReport.form.DivFailureReportDetail.form.CalendarFailureStartDate.text;
var OccurTime = this.DivFailureReport.form.DivFailureReportDetail.form.MaskFailureStartTime.text;
var OccurStart = OccurDate + ' ' + OccurTime;

var OccurEndDate = this.DivFailureReport.form.DivFailureReportDetail.form.CalendarFailureExitDate.text;
var OccurEndTime = this.DivFailureReport.form.DivFailureReportDetail.form.MaskFailureExitTime.text;
var OccurEnd = OccurDate + ' ' + OccurTime;

if(OccurTime.substring(3,5)>=60 || OccurEndTime.substring(3,5)>=60){
	this.gfn_msgAlert('시간을 올바르게 입력해주세요');
}

var dateStart = new Date(OccurStart);
var dateEnd = new Date(OccurEnd);
var calDateStart = new Date(Date.parse(dateStart));
var calDateEnd = new Date(Date.parse(dateEnd));
var diff = new Date(calDateEnd - calDateStart);

//몇시간 걸렸는지
this.DivFailureReport.form.DivFailureReportDetail.form.StaticHour.set_text(nexacro.floor(diff.getTime()/1000*60*60)));

//몇분 걸렸는지
this.DivFailureReport.form.DivFailureReportDetail.form.StaticMin.set_text((diff.getTime()/(1000*60))%60);

 

시간형식은 '2022-03-30 09:00' 형태로 들어가야한다.

 

2022-03-30 09:00 장애 시작,  2022-03-31 02:00에 장애가 해결되었다면

총 장애시간은 17시간

 

 

수정) round -> floor

반응형