2017-08-19 22 views
0

這是我的代碼,我想從當前日期添加兩天到隱藏輸入的值。如果我現在借錢,這會導致兩天的等待期。如果我在星期五借錢會更好;星期六和星期日不計算,因此等待時間在四天後的星期一結束。如何從當前日期添加兩天到隱藏輸入的值

<input type="hidden" name="due_date" id="sd" maxlength="10" style="border: 3px double #CCCCCC;" required/> 
+0

您可以使用JavaScript ...或者你正在使用的後端語言做到這一點。 – Prateek

回答

0

該代碼將創建一個引用一週中某幾天的對象數組,以及一個用於檢索當前日期信息的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/>

+0

如何獲取值並將其插入到數據庫中?因爲它不顯示名稱=「due_date」在我的數據庫中,所以當我按下借用它應該保存在數據庫中,但我不知道如何傳遞您爲我寫的值謝謝我的朋友 – Liza

+0

我的朋友I不知道如何使用JavaScript並將其傳遞給PHP你可以爲我做嗎?對不起,我的請求我只是不知道在webstorage中做什麼 – Liza

0

您可以使用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; 

回答 - How to add number of days to today's date?

您可以在PHP做

echo date('Y-m-d', strtotime("+2 days")); 

回答 - Add number of days to a date

1

您可以使用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>

假設週六和週日沒有任何東西被借用。

+0

那麼我在輸入中會做什麼隱藏?我已經把div id =「display」並且在輸入中隱藏不了currentDate的值我應該怎麼做?謝謝我的朋友 – Liza

相關問題