當在輸入欄位中放置第 31 天時,JSON 'dt_ini_vigencia' 和 'dt_fin_vigencia' 在第 1 天發生變化。誰能幫我理解這一點?
輸入中的 JSON 日期格式:'2022-12-31T03:00:00.000Z' 這是 JSON 在此函式之后回傳的內容:'2022-12-01T03:00:00.000Z' 到 'dt_ini_vigencia' '2023-12-01T03 :00:00.000Z' 到 'dt_fin_vigencia'。
僅當輸入第 31 天時才會出現此問題
`
var cotacaoJson = JSON.parse(resp[0].ds_cotacao_json);
var date = new Date();
date.setDate(cotacaoJson.dt_ini_vigencia.substring(8, 10)); //apparently is on this line
date.setMonth(cotacaoJson.dt_ini_vigencia.substring(5, 7) - 1);
date.setFullYear(cotacaoJson.dt_ini_vigencia.substring(0, 4));
date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);
date.setMilliseconds(0);
var dateF = new Date();
dateF.setDate(cotacaoJson.dt_fin_vigencia.substring(8, 10));
dateF.setMonth(cotacaoJson.dt_fin_vigencia.substring(5, 7) - 1);
dateF.setFullYear(cotacaoJson.dt_fin_vigencia.substring(0, 4));
dateF.setHours(0);
dateF.setMinutes(0);
dateF.setSeconds(0);
dateF.setMilliseconds(0);
this.cotacao = cotacaoJson;
if (!this.editar)
{
this.cotacao.clausulas_particulares = 'N/A';
}
this.cotacao.dt_ini_vigencia = date;
this.cotacao.dt_fin_vigencia = dateF;
`
在 date 和 dateF 中保存第 31 個
uj5u.com熱心網友回復:
這是因為new Date()回傳當前日期。現在是 11 月,因此您可以通過的最大日期是 30。要修復第一個設定的年份,然后是一個月,然后是一個日期
uj5u.com熱心網友回復:
只需使用一些健壯且經過良好測驗的庫函式進行日期決議parseJSON,例如date-fns,而不是重新發明輪子。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/532559.html
上一篇:為2個不同的螢屏重用組件
