function nextDay(dateStr){
var currDate = new Date(dateStr),
currHours = currDate.getHours(),
nextHours = currDate.setHours(currHours + 24),
nextDay = new Date(nextHours);
return nextDay;
}
console.log(nextDay("2014-5-31").toLocaleDateString());
function prevDay(dateStr){
var currDate = new Date(dateStr),
currHours = currDate.getHours(),
prevHours = currDate.setHours(currHours - 24),
prevDay = new Date(prevHours);
return prevDay;
}
console.log(prevDay("2014-5-1").toLocaleDateString());
<html>
<head>
<title></title>
<meta charset="utf-8" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0-beta1.js"></script>
</head>
<body>
<script language="javascript"> function goprovday()
{
var oForm = document.forms["form1"];
var objtxt = oForm.saleDateBegin.value; //获得值写入 saleDateBegin 框内
oForm.saleDateBegin.value = objtxt - 1 ; // 这儿该怎么写呢?
oForm.saleDateEnd.value = objtxt ;
//oForm.submit();
}
function next(){//其他的类推
var objtxt = oForm.saleDateBegin.value;
objtxt = objtxt.replace(/-/g,'/'); // 将-替换成/,因为下面这个构造函数只支持/分隔的日期字符串
var currDate = new Date(objtxt);
currHours = currDate.getHours();
nextHours = currDate.setHours(currHours + 24);
d = new Date(nextHours);
var s = '';
s += d.getFullYear(); // 获取年份。
s += "-"+ (d.getMonth() + 1) ; // 获取月份。
s += "-" + d.getDate() ; // 获取日。
//return(s); // 返回日期。 alert(s)
}
</script><form name="oForm" method="post" action="index.asp">
开始日期:<input type="text" name="saleDateBegin" value="2014-5-1">
结束日期:<input type="text" name="saleDateEnd" value="2014-5-5">
<input type="button" name="Submit" value="Submit" onclick="goprovday();">
<input type="button" value="后一天" onclick="next();">
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
</head><script>
function goprovday() {
var txt_begin = document.getElementById("saleDateBegin");
alert(txt_begin.value);}
</script>
<body>
<form name="form1" method="post" action="index.asp">
开始日期:<input type="text" id="saleDateBegin" value="2014-5-1">
结束日期:<input type="text" id="saleDateEnd" value="2014-5-5">
<input type="button" name="Submit" value="Submit" onclick="goprovday();">
</form>
</body>
</html>
function fun(n){
var el = document.getElementsByName(n?"saleDateBegin":"saleDateEnd")[0],v=el.value;
if(/^\d{4}-\d{1,2}-\d{1,2}$/.test(v)){
var d = new Date(v.replace(/-/g,"/"));
d.setDate(d.getDate() + (n?-1:1));
el.value = d.getFullYear()+"-"+ (d.getMonth()+1) +"-"+ d.getDate();
}
}
</script>
<form name="oForm" method="post" action="index.asp">
开始日期:<input type="text" name="saleDateBegin" value="2014-5-1">
结束日期:<input type="text" name="saleDateEnd" value="2014-5-5">
<input type="button" value="前一天" onclick="fun(!0)">
<input type="button" value="后一天" onclick="fun(!1)">
</form>
多谢 “microlab2009” 和 "xzy21com" 的方法。
________________________________不过有个小小的问题就是:
我取后一天的值的时候,需要让2个日期始终相差为1天。试了好久,没成功,还请援手,谢谢。例如:我取后一天的值到右边框为:2014-5-5
左边框内开始日期就为 2014-5-4我取前一天的值到左边框为:2014-5-1
左边框内开始日期就为 2014-5-2怎么写呢?谢谢。成功马上结贴。
function fun(n){
var b=document.getElementsByName("saleDateBegin")[0],e=document.getElementsByName("saleDateEnd")[0],el;
if(n){
el=b;e.value= b.value;
}else{
el=e;b.value= e.value;
}
var v=el.value;
if(/^\d{4}-\d{1,2}-\d{1,2}$/.test(v)){
var d = new Date(v.replace(/-/g,"/"));
d.setDate(d.getDate() + (n?-1:1));
el.value = d.getFullYear()+"-"+ (d.getMonth()+1) +"-"+ d.getDate();
}
}
</script>
<form name="oForm" method="post" action="index.asp">
开始日期:<input type="text" name="saleDateBegin" value="2014-5-1">
结束日期:<input type="text" name="saleDateEnd" value="2014-5-2">
<input type="button" value="前一天" onclick="fun(!0)">
<input type="button" value="后一天" onclick="fun(!1)">
</form>