這是我的代碼,我想從當前日期添加兩天到隱藏輸入的值。如果我現在借錢,這會導致兩天的等待期。如果我在星期五借錢會更好;星期六和星期日不計算,因此等待時間在四天後的星期一結束。如何從當前日期添加兩天到隱藏輸入的值
<input type="hidden" name="due_date" id="sd" maxlength="10" style="border: 3px double #CCCCCC;" required/>
這是我的代碼,我想從當前日期添加兩天到隱藏輸入的值。如果我現在借錢,這會導致兩天的等待期。如果我在星期五借錢會更好;星期六和星期日不計算,因此等待時間在四天後的星期一結束。如何從當前日期添加兩天到隱藏輸入的值
<input type="hidden" name="due_date" id="sd" maxlength="10" style="border: 3px double #CCCCCC;" required/>
該代碼將創建一個引用一週中某幾天的對象數組,以及一個用於檢索當前日期信息的Date對象oDate。如果星期幾不是星期五,則建議用戶等到星期五。
隱藏的輸入「due_date」將其值設置爲距當前日期兩天,除非該日期是星期五,在這種情況下,截止日期變爲4天后,跳過週末並將通常的2天添加到等待期。如果隱藏的輸入是表單的一部分,那麼一旦它被提交併且數據被驗證,假設通過POST提交,可以在INSERT查詢中使用變量$ _POST [「due_date」]將該值存儲在數據庫中,確保使用mysqli_real_escape_string()或PDO和綁定參數。
注意:我更改了HTML,因此隱藏輸入的NAME和ID屬性都設置爲「due_date」。
var d = document;
d.g = d.getElementById;
var arrDaysOfWeek = {"Sunday":0,"Monday":1,"Tuesday":2,"Wednesday":3,"Thursday":4,"Friday":5,"Saturday":6};
var arrWkDayNames = Object.keys(arrDaysOfWeek);
var oDate = new Date();
var currDay = oDate.getDay();
var md = oDate.getDate();
var mm = oDate.getMonth() + 1;
var y = oDate.getFullYear();
var waitPeriod = 2; // default
var daysTillFriday = (currDay == 0)? arrDaysOfWeek["Friday"]
: arrDaysOfWeek["Friday"] - currDay;
if (currDay == arrDaysOfWeek["Saturday"]) {
daysTillFriday = arrWeekDayNames.length + arrDaysOfWeek["Friday"] - currDay;
}
var mess = "";
if (currDay != arrDaysOfWeek["Friday"]) {
mess = "\nYou should wait to borrow on Friday, i.e. " + daysTillFriday + " days from today.";
}
if(currDay + 2 != arrDaysOfWeek["Friday"]) {
daysTillFriday = arrDaysOfWeek["Friday"] - currDay - 2;
mess += "\nSo, best not even in two days. Just wait till Friday which will be in " + daysTillFriday + " days from two days from now.";
}
waitPeriod = (currDay == arrDaysOfWeek["Friday"])
? 4 //skip sat. & sun. plus 2
: 2; // usual wait period
oDate.setDate(md + waitPeriod);
mess += "\nTo proceed know that the happening date is " + oDate;
//USA date style ...
var date_parts = [ mm, md, y ];
mess += "\nToday is " + arrWkDayNames[ currDay ] + ", " + date_parts.join("/");
d.g("display").textContent = mess;
d.g("due_date").value = oDate;
console.log("Hidden input due date value: " + d.g("due_date").value);
<div id="display"></div>
<input type="hidden" name="due_date" id="due_date" maxlength="10" style="border: 3px double #CCCCCC;" required/>
您可以使用JavaScript,沒有jQuery的要求:
var someDate = new Date();
var numberOfDaysToAdd = 2;
someDate.setDate(someDate.getDate() + numberOfDaysToAdd);
格式,以DD/MM/YYYY:
var dd = someDate.getDate();
var mm = someDate.getMonth() + 1;
var y = someDate.getFullYear();
var someFormattedDate = dd + '/'+ mm + '/'+ y;
您可以在PHP做
echo date('Y-m-d', strtotime("+2 days"));
您可以使用JavaScript來增加2天,週五(5)加4天跳過週六,週日加2日:
var currentDate = new Date();
//Checking If Current day is Friday
if(currentDate.getDay() == 5) {
var numberOfDaysToAdd = 4; //Adding 4 to skip sat. & sun. if Friday
} else {
var numberOfDaysToAdd = 2; //Adding 2 days if not Friday
}
currentDate.setDate(currentDate.getDate() + numberOfDaysToAdd);
//Formatting to dd/mm/yyyy :
var dd = currentDate.getDate();
var mm = currentDate.getMonth() + 1;
var y = currentDate.getFullYear();
var someFormattedDate = dd + '/'+ mm + '/'+ y;
// Displaying Fromatted Date
document.getElementById("display").innerHTML = someFormattedDate;
<div id="display"></div>
假設週六和週日沒有任何東西被借用。
那麼我在輸入中會做什麼隱藏?我已經把div id =「display」並且在輸入中隱藏不了currentDate的值我應該怎麼做?謝謝我的朋友 – Liza
您可以使用JavaScript ...或者你正在使用的後端語言做到這一點。 – Prateek