Javascript 转换所选日期时出错-角度8

Javascript 转换所选日期时出错-角度8,javascript,angular,datetime,Javascript,Angular,Datetime,我在两个日期之间做了一个过滤器,开始日期和结束日期,过滤器工作完美,它带来了数据,但没有带来完整的数据,这是因为当选择日期并将其转换为格式时,它会转换它们,但只剩下一天 通过这种方式,我可以转换日期: FiltrarPorFechas(incial, final) { this.ListaUsuarios = []; const IniDate = new Date(incial); const EndDate = new Date(final); } 将映像与调试和

我在两个日期之间做了一个过滤器,开始日期和结束日期,过滤器工作完美,它带来了数据,但没有带来完整的数据,这是因为当选择日期并将其转换为格式时,它会转换它们,但只剩下一天

通过这种方式,我可以转换日期:

 FiltrarPorFechas(incial, final) {
    this.ListaUsuarios = [];
    const IniDate = new Date(incial);
    const EndDate = new Date(final);
}
将映像与调试和转换关联:

如图所示,初始日期和最终日期到达方法2019-07-10和2019-07-31,但当我尝试转换它们时,会使它们减少一天,如图所示

我尝试使用moment formatDate,但它不起作用,我不明白为什么,我不想添加一天


有人能帮我吗?

你可能在时区方面有问题。您可以使用moment.js或从普通日期对象将时间重置为00:00:00

现在,由于您的目标是比较时间,因此可以使用moment.js提供的diff来实现这一点。请在下面找到示例代码

作用{ 首字母='2019-07-09'; initial_formatted=momentnewdate`${initial}00:00:00`; 最终版本='2019-07-31'; final_formatterd=momentnewdate`${final}00:00:00`; console.loginitial_formatted.difffinal_formatterd,“天”; //momentnew日期`${incial}00:00:00`。格式为“YYYY-MM-DD HH:MM:ss”; };
预期的输出是什么?我希望它们在我选择它们时到达,如果我选择10,当我转换它时,它是10不是9你能试试momentnew Dateincial格式'YYYY-MM-DD HH:MM:ss'?给我一秒钟我做测试我怀疑它与时区有关,让我看看,