Angular 反应形式传递了错误的日期
Angular reactive form pass wrong date
我正在使用 PrimeNg 日历模块来选择日期。我有以下代码:
<p-calendar formControlName="valid_till" [dateFormat]="'mm/dd/yy'"></p-calendar>
现在,当我 select 一个日期例如:31st July 2020
,在组件中,如果我记录该值,我将得到以下内容:
Fri Jul 31 2020 00:00:00 GMT+0530 (India Standard Time)
但是当我按如下方式将这个值传递给服务器时:
this.myService
.save(this.myForm.value, this.editId);
它将日期作为 valid_till: "2020-07-30T18:30:00.000Z"
传递,并且此值作为 2020-07-30 23:59:59
保存在数据库中。但我必须将它保存为 2020-07-31 23:59:59
。为什么会这样,我该如何保存我 select 的确切日期?
我已经尝试添加另一个 post 中看到的偏移量
newDate = new Date(date_valid_till.getTime() +date_valid_till.getTimezoneOffset() * 60000);
但这又给了我Thu Jul 30 2020 18:29:59 GMT+0530 (India Standard Time)
,仍然不是我想要的日期。我只需要 Thu Jul 31
,我在日期选择器中 select 编辑了它。
PS : 我正在使用 MySQL 数据库并且该列的类型为 DateTime.
将数据类型用作字符串。
<p-calendar formControlName="valid_till" dataType="string"></p-calendar>
我创建了 stackblitz,它正在运行
我正在使用 PrimeNg 日历模块来选择日期。我有以下代码:
<p-calendar formControlName="valid_till" [dateFormat]="'mm/dd/yy'"></p-calendar>
现在,当我 select 一个日期例如:31st July 2020
,在组件中,如果我记录该值,我将得到以下内容:
Fri Jul 31 2020 00:00:00 GMT+0530 (India Standard Time)
但是当我按如下方式将这个值传递给服务器时:
this.myService
.save(this.myForm.value, this.editId);
它将日期作为 valid_till: "2020-07-30T18:30:00.000Z"
传递,并且此值作为 2020-07-30 23:59:59
保存在数据库中。但我必须将它保存为 2020-07-31 23:59:59
。为什么会这样,我该如何保存我 select 的确切日期?
我已经尝试添加另一个 post 中看到的偏移量
newDate = new Date(date_valid_till.getTime() +date_valid_till.getTimezoneOffset() * 60000);
但这又给了我Thu Jul 30 2020 18:29:59 GMT+0530 (India Standard Time)
,仍然不是我想要的日期。我只需要 Thu Jul 31
,我在日期选择器中 select 编辑了它。
PS : 我正在使用 MySQL 数据库并且该列的类型为 DateTime.
将数据类型用作字符串。
<p-calendar formControlName="valid_till" dataType="string"></p-calendar>
我创建了 stackblitz,它正在运行