formulare - TimePicker returnează obiect, nu timp Angular 4


cum pot face ca selectorul de timp din formular să returneze timpul pe care l-am ales.

Selector de timp în formular :

 <label class="padd"> Time of visiting </label>
 <ngb-timepicker [(ngModel)]="meridianTime" [meridian]="meridian" 
 formControlName="time" id="time"  ></ngb-timepicker>

Partea TypeScript:

 defaultTime = {hour: 13, minute: 30};
 customTime: NgbTimeStruct = {hour: 13, minute: 30, second: 0};
 hourStep = 1;
 minuteStep = 15;

Răspuns #1

Ai timp. Iată documentele: link

Ai timp sub forma proprietăților hour, minute, second. Poți să-l convertești în ce ai nevoie. Pentru conversie poți folosi API-ul intern JavaScript: Date sau unele biblioteci precum moment. Sau ceva de genul acesta: https://stackoverflow.com/a/27979128/2898694 :)

Deci ai o dată în formatul timepicker. Ca obiect, vreau să spun. Poți scrie ceva de genul acesta:

prepareDate(dateAsObject) {
  return dateAsObject.hour + ':' + dateAsObject.minute + ':' + dateAsObjet.second;
}

Aceasta este primul lucru care îmi vine în minte. Desigur, poți pregăti datele așa cum dorești.

Răspunsul #2

Încearcă să folosești dateAsObject.toLocaleTimeString(), vei obține ora în format de 24 de ore.