2017-11-22 1 views

Antwort

0

Ich habe Angular2-moment mit Ihrer Anforderung verwendet. Dieses Plugin ist mit Pipes erstellt und ich habe versucht, die Pipes in TS-Dateien zu verwenden.

Working demo

Ich bin nicht sicher, ob es Antwort gerade nach vorne ist, aber es könnte Ihnen bei der Suche helfen.

TS-Datei

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-Datei

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

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

Verwenden Sie Split (':'), um Stunden und Minuten zu erhalten. Verwenden Sie parseInt, um die Ganzzahl zu erhalten, multiplizieren Sie die Stunden mit 60 und subtrahieren Sie sie. Verwenden Sie den Operator%, um das Minutenergebnis zu erhalten, und Math.floor, um die letzten Stunden zu erhalten – Eliseo

0

Problem behoben wurde unter Code verwendet:

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

TimeFormat.SHORT);