目的: V1060302 – 實體定更定檢清冊 - [存檔]
–實際屆期點=日期+天數 = DATE_ADD(‘2026/12/30’,’天’,’14’);
–實際屆期點=日期+天數 = DATE_ADD(‘2026/12/30’,’天’,’14’);
處理說明: 1> function DATE_ADD(par_DT, par_UNIT,par_VAL)
目的 : 日期字串相加
傳入參數: par_DT: 原始日期
par_UNIT: A/B/C: 年/月/日
par_VAL: 累加數值
Ex:
2026 / 06 / 01 + 2年 = 2028 / 06 / 01, DATE_ADD("2026/06/01", "A", 2);
2026 / 07 / 01 + 6月 = 2027 / 01 / 01, DATE_ADD("2026/07/01", "B", 6);
2026 / 07 / 15 + 20天 = 2026 / 08 / 05, DATE_ADD("2026/07/15", "C", 20);
2>
Tmp_TMVAL_ = DATE_ADD(Tmp_L_FLYDT, Tmp_TMUNIT, Tmp_TMFEQ);
/* myfunc.js
* function DATE_ADD(par_DT, par_UNIT,par_VAL)
* 傳入參數: par_DT: 原始日期
* par_UNIT: A/B/C: 年/月/日
* par_VAL: 累加數值
日期字串相加-- > 2026 / 06 / 01 + 2年 = 2028 / 06 / 01, DATE_ADD("2026/06/01", "A", 2);
2026 / 07 / 01 + 6月 = 2027 / 01 / 01, DATE_ADD("2026/07/01", "B", 6);
2026 / 07 / 15 + 20天 = 2026 / 08 / 05, DATE_ADD("2026/07/15", "C", 20);
*/
function DATE_ADD(par_DT, par_UNIT,par_VAL) {
var Tmp_YYYY, Tmp_MM, Tmp_DD;
var Tmp_YYYY1, Tmp_MM1, Tmp_DD1;
var Tmp_ADD_YY1, Tmp_ADD_MM1;
var Tmp_DT = DatetoStr(par_DT, "Y/m/d");
Tmp_YYYY = Number(StrExtract(Tmp_DT, 1, "/"));
Tmp_MM = Number(StrExtract(Tmp_DT, 2, "/"));
Tmp_DD = Number(StrExtract(Tmp_DT, 3, "/"));
Tmp_YYYY1 = Tmp_YYYY; Tmp_MM1 = Tmp_MM; Tmp_DD1 = Tmp_DD;
switch (par_UNIT) {
case "A": //年
{
Tmp_YYYY1 = Tmp_YYYY + parseInt(par_VAL);
break;
}
case "B": //月
{
Tmp_MM1 = Tmp_MM + parseInt(par_VAL);
Tmp_ADD_YY1 = Math.trunc((Tmp_MM1) / 12); //取商數
Tmp_YYYY1 = Tmp_YYYY + Tmp_ADD_YY1;
Tmp_MM1 = Math.trunc((Tmp_MM1) % 12); //取餘數
break;
}
case "C": //天
{
//日期函式 Tmp_DT.setDate( ) ; 日期不對
//Tmp_DD1 = Tmp_DD1 + par_VAL;
var Tmp_DT = new Date(par_DT);
var Tmp_DD = Tmp_DT.getDate();
//console.log("2 Tmp_DT:", Tmp_DT);
//Tmp_DD 及 par_VAL 必需先轉成數值,才可以累加 , 不然 par_VAL文字, 變成文字相加
Tmp_DT.setDate(parseInt(Tmp_DD) + parseInt(par_VAL));
//console.log("3 Tmp_DT.setDate():", Tmp_DT);
Tmp_YYYY1 = Tmp_DT.getFullYear(); // 年份 (例如 2026)
Tmp_MM1 = Tmp_DT.getMonth() + 1; // 月份 (0~11,要 +1 才是正常月份)
Tmp_DD1 = Tmp_DT.getDate(); // 日期 (1~31)
break;
}
}// end of switch (par_UNIT)
return Tmp_YYYY1.toString() + "/"+Tmp_MM1.toString() +"/"+ Tmp_DD1.toString();
} // end of function DATE_ADD(par_DT, par_UNIT,par_VAL) {