js怎么根据一个日期得到它旁边几天的日期
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js怎么根据一个日期得到它旁边几天的日期相关的知识,希望对你有一定的参考价值。
格式是这种 :2014-05-01
就是日期做差,如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>日期计算器</title>
<script type="text/javascript">
var hzWeek= new Array("日","一","二","三","四","五","六","日");
function cweekday(wday)return hzWeek[wday];
function cala()
y=document.getElementById("SY").value;
m=document.getElementById("SM").value;
d=document.getElementById("SD").value;
ddd=document.getElementById("decday").value;
ttt=new Date(y,m-1,d).getTime()+ddd*24000*3600;
theday=new Date();
theday.setTime(ttt);
document.getElementById("result1").innerHTML=theday.getFullYear()+"年"+(1+theday.getMonth())+"月"+theday.getDate()+"日"+"星期"+cweekday(theday.getDay());
//cala
function calb()
y2=document.getElementById("SY2").value;
m2=document.getElementById("SM2").value;
d2=document.getElementById("SD2").value;
y3=document.getElementById("SY3").value;
m3=document.getElementById("SM3").value;
d3=document.getElementById("SD3").value;
day2=new Date(y2,m2-1,d2);
day3=new Date(y3,m3-1,d3);
document.getElementById("result2").innerHTML=(day3-day2)/86400000;
//calb
function autoInput()
var d = new Date();
var vYear = d.getFullYear();
var vMon = d.getMonth() + 1;
var vDay = d.getDate();
var output="今天是:";
output+=vYear+"-"+(vMon<10?"0"+vMon:vMon)+"-"+(vDay<10?"0"+vDay:vDay);
document.getElementById('today').innerHTML=output;
document.getElementById('SY').value=vYear;
document.getElementById('SM').value=vMon;
document.getElementById('SD').value=vDay;
document.getElementById('SY2').value=vYear;
document.getElementById('SM2').value=vMon;
document.getElementById('SD2').value=vDay;
</script>
</head>
<body onload="autoInput()">
<h4 id="today"></h4>
<h4>1.推算几天后的日期:</h4>
<br>
和
<input size="8" id="SY" value="">年
<input size="4" id="SM" value="6">月
<input size="4" id="SD" value="2">日
(缺省为今天)
<br>相差
<input size="8" id="decday" value="100">天
(输入负数则往前计算)
<br>是:
<span id="result1"></span>
<br>
<input type="button" value="计算1" onclick="cala()">
<br><br>
<h4>2.计算日期差:</h4>
<br>
<input size="8" id="SY2" value="">年
<input size="4" id="SM2" value="">月
<input size="4" id="SD2" value="">日
<br>
和
<input size="8" id="SY3" value="2015" >年
<input size="4" id="SM3" value="1">月
<input size="4" id="SD3" value="1">日
<br>相差:
<span id="result2"></span>天
<br>
<input type="button" value="计算2" onclick="calb()">
</body>
</html> 参考技术A
这个可以用js里的Date函数。
函数需要传递2个参数。第一个时间,第二个是附近的多少天。
利用循环和Date函数将日期全部push到数组中,最后返回数组。
如下代码仅进行了简单的实现,仅供参考:
function tab(date,dNum)var arr = date.split('-');
var fDay = [];
for(var i=(parseInt(arr[2])-dNum);i<=(parseInt(arr[2])+dNum);i++)
fDay.push(new Date(arr[0],arr[1]-1,i));
return fDay;
alert(tab('2015-1-1',4)); 参考技术B var getDate = function(date, i)
var d = date.split(/-/);
var y = parseInt(d[0]);
var m = parseInt(d[1]);
var t = parseInt(d[2]) + i;
var dt = new Date(y, m, t);
return dt;
getDate("2014-05-01", 1);// 后1天追问
那假如我要根据2014-05-01 来得到它前一天:2014-4-30呢
追答getDate("2014-05-01", -1);//
var getDate = function(date, i)
var d = date.split(/-/);
var y = parseInt(d[0]);
var m = parseInt(d[1]) -1;// 月份从0开始
var t = parseInt(d[2]) + i;
var dt = new Date(y, m, t);
return dt;
getDate("2014-05-01", 1);// 后1天
js 怎么求两个日期相差几个月零几天?
参考技术A 日期:date1、date2date1.getMonth() //得到当前日期的月份值-1
date2.getMonth() //得到当前日期的月份值-1
date1.getDate() //得到当前日期在所在月份的第几天
date2.getDate() //得到当前日期在所在月份的第几天
lastday = new Date(date1.getFullYear(), date1.getMonth() , 0).getDate(),//下个月的第0天就是今月的最后一天
相差几个月零几天这个问题不好算啊,按一个月几天算呢?每个月都不一样的。
两个日期之间相差有多少天:(date1-date2)/(1000*3600*24)本回答被提问者采纳
以上是关于js怎么根据一个日期得到它旁边几天的日期的主要内容,如果未能解决你的问题,请参考以下文章
java怎么得到某个月的第一天和最后一天的日期,以2012-06为例