簡體   English   中英

日期函數傳遞未定義的對象

[英]date function passing undefined object

在此輸入圖像描述

function addDays(date, days) {

          var result = new Date(date);
          console.log("initialdate"+result);
          result.setDate(result.getDate() + days);
          result=result.toLocaleDateString();
          result = result.split(' ')[0];
          return result;
     }

我正在嘗試將日期添加到日期,但是當我將日期轉換為對象時,我會收到錯誤作為無效日期

這是HTML代碼。

<div class="form-line"> <label for="date">Date</label> <input type="text" class="form-control datepicker" id="edit_date" placeholder="Enter Date" required="true" value>

您遇到的問題是您的輸入格式。 要解析工作,格式必須是YYYY/MM/DDMM/DD/YYYY

 function addDays(date, days) { var result = new Date(date); console.log("initialdate: "+result); result.setDate(result.getDate() + days); result=result.toLocaleDateString(); result = result.split(' ')[0]; console.log("return: "+result); return result; } addDays("05/25/2019", 5); addDays("2019/05/24", 5); 

要獲得預期結果,請使用以下選項將“DD / MM / YYYY”中的日期更改為Date構造函數的有效ISO 8601格式

  1. 通過以-DD / MM / YYYY格式分割日期,將日期格式化為新日期(YYYY,MM,DD)
  2. 月值從1開始為0,對於獲得有效月份減少1
  3. 使用setDate添加天數

 function addDays(date, days) { let fomarttedDate = date.split("/") var result = new Date(fomarttedDate[2], fomarttedDate[1] -1, fomarttedDate[0]); result.setDate(result.getDate() + days); result=result.toLocaleDateString(); result = result.split(' ')[0]; return result; } console.log(addDays("23/05/2019", 2)) 

有關datetring有效格式的更多詳細信息,請參閱此鏈接
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15

codepen供參考 - https://codepen.io/nagasai/pen/zQvpaa

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM