Я пытаюсь создать форму в угловых, в которой у нас есть 2 поля ввода StartTime
и EndTime
.В StartTime
, если мы вводим дату и время, и они должны автоматически обновляться в Endtime
с «+» 1 часом по времени.
Работает нормально, но когда нужно конвертировать из утра в часэто не конвертируется.Значение времени в this.endTimeValue
во время отладки в порядке, но при привязке оно отображает неверное значение в представлении (EndTime
).
HTML-файл:
<form [formGroup]="myGroup" (ngSubmit)="submit(myGroup.value)">
<div class="row row-time">
<div class="col-sm-5">
<label for="StartTime">Start Time</label>
<input type="datetime-local" name="StartTime" class="form-control" formControlName="StartTime">
</div>
<div class="col-sm-5 col-sm-offset-2">
<label for="EndTime">End Time</label>
<input type="datetime-local" name="endTime1" class="form-control" formControlName="EndTime" readonly>
</div>
</div>
<div class="row">
<button type="submit" class="btn">
Submit Query
</button>
</div>
</form>
Файл компонента (ts):
myGroup: FormGroup;
startTimeValue: any;
endTimeValue : string ;
constructor(private formbuilder:FormBuilder,
private datePipe: DatePipe) { }
ngOnInit() {
this.myGroup = this.formbuilder.group({
TableName:['', Validators.required],
CorrelationId:['', Validators.required],
StartTime:[null, Validators.required],
EndTime:[null, Validators.required],
ClientName:['', Validators.required]
});
}
submit(form){
this.startTimeValue = form.StartTime;
var time = this.startTimeValue;
if(time !== null)
{
debugger;
var x = new Date(time);
x.setHours(x.getHours() + 1);
this.endTimeValue = x.LocaleString();
debugger;
this.myGroup.patchValue({
EndTime: this.datePipe.transform(this.endTimeValue,"yyyy-MM-ddThh:mm",'+0530')
})
}
}