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,它正在运行

https://stackblitz.com/edit/angular-z5ifcn