C A*_*son 5 ngx-bootstrap angular
将 timepicker 模块与所有默认选项一起使用,但 minutestep 设置为 1。
代码行如下
let DailyStartTime = this.dailyStartTime != null ?
new Date(this.dailyStartTime.getFullYear(),
this.dailyStartTime.getMonth(),
this.dailyStartTime.getDate(),
this.dailyStartTime.getHours(),
this.dailyStartTime.getMinutes()) : null
Run Code Online (Sandbox Code Playgroud)
将数据记录为 2017 年 5 月 31 日星期三 19:51:00 GMT-0400(东部夏令时间)
它最初显示,但一旦保存回 SQL,它就会转换为“2017-05-31T23:51:00”,它按时间偏移量推进。我怎么能否定这个?
当尝试使用 ngx-bootstrap (3.0) timepicker 将反应式表单保存到 POST(带有 EntityFramework 的 C# WebApi)时,我遇到了同样的问题
似乎是 UTC 和本地计算机的问题。来自 datepicker 的日期似乎很好,但是在创建 POST 对象时,javascript 似乎会调整 UTC 和本地计算机之间的时区差异。
解决方法(.ts):
submit() {
this.dataService.saveOpenHours({ OpensAt: this.fixDate(this.form.value.openHour), ClosesAt: this.fixDate(this.form.value.closeHour) }).subscribe(data => {
// do something
});
}
fixDate(d: Date): Date {
d.setHours(d.getHours() - d.getTimezoneOffset() / 60);
return d;
}
Run Code Online (Sandbox Code Playgroud)
超文本标记语言
<form id="ngForm" [formGroup]="form" (ngSubmit)="submit()">
<timepicker formControlName="openHour"></timepicker>
<timepicker formControlName="closeHour"></timepicker>
</form>
Run Code Online (Sandbox Code Playgroud)
希望这会对某人有所帮助!
| 归档时间: |
|
| 查看次数: |
4188 次 |
| 最近记录: |