2017-11-22 1 views
0

나는 IN 시간이 09:30이고 OUT 시간이 17:50이고 휴식 시간이 01:00입니다. 이제 휴식 시간을 포함하여 총 근무 시간을 보내고 싶습니다. 타이프 스크립트에서는이 값을 정의 할 때 잠깐 사용했습니다. 이 값은 사용자가 변경할 수 있습니다. 타이프 스크립트로 시간을 계산하는 방법은 무엇입니까?Typescript에서 순간 오브젝트의 IN 시간과 OUT 시간을 계산하는 방법은 무엇입니까?

답변

0

귀하의 요구 사항에 Angular2-moment을 사용했습니다. 이 플러그인은 파이프로 빌드되어 있으며 TS 파일에서 파이프를 사용하려고했습니다.

Working demo

나는 정직하고 대답인지 확실하지 오전하지만 검색에서 당신을 도울 수 있습니다.

TS 파일

import { Component } from '@angular/core'; 
import { DateFormatPipe,DifferencePipe } from 'angular2-moment'; 

@Component({ 
    selector: 'my-app', 
    templateUrl: './app.component.html', 
    styleUrls: [ './app.component.css' ] 
}) 
export class AppComponent { 
    name = 'Angular 5'; 
    startTime : any; 
    endTime : any 
    diff : any; 

    constructor(){ 

    this.startTime=new Date().setHours(9,30); 
    this.endTime=new Date().setHours(17,50); 
    this.diff=(new DifferencePipe()).transform(this.endTime, this.startTime, 'Hours', true); 

    } 
} 

HTML 파일

<hello name="{{ name }}"></hello> 
<p> 
    Start editing to see some magic happen :) 
</p> 

{{startTime}} : {{endTime}} : {{diff}} 
+0

split (':')을 사용하여 시간과 분을 가져옵니다. parseInt를 사용하여 정수를 얻고 시간에 60을 곱하여 뺍니다. % 연산자를 사용하여 분 결과를 얻고, Math.floor를 사용하여 최종 시간을 얻습니다. – Eliseo

0

문제가 코드 아래 사용하여 해결되었습니다

this.daySettingsForm.totalPresence = moment.duration(
     this.daySettingsForm.departure.diff(this.daySettingsForm.arrival) 
    ).format(

TimeFormat.SHORT);

관련 문제