javascript 日期相减 涉及到时分秒
发布网友
发布时间:2022-04-23 14:13
我来回答
共6个回答
热心网友
时间:2022-04-22 14:30
如果日期是字符串形式,先将字符串转换为日期,如:
var s1 = new Date("2011-03-31 00:58:30" );
var s2 = new Date("2011-04-01 08:58:48" );
然后用getTime()取得对象的毫秒表示相减
var s3 = s2.getTime() - s1.getTime();
得到相差的毫秒数
然后根据1天=24小时=(24*60)分钟=(24*60*60)秒=(24*60*60*1000)毫秒
var tianshu = s3 / (24*60*60*1000);
这就得到了相差天数
全部手动打出来的,谢谢采纳。追问哥。QQ发来。你说的不对啊! 我也是像你这样的。可是效果为什么出不来呢?? 要怎么联系你啊、很着急,而且返回的NAN 关于日期
热心网友
时间:2022-04-22 15:48
/*字符转日期*/StringToDate=function(DateStr){if(typeof DateStr=="undefined")return new Date();if(typeof DateStr=="date")return DateStr;var converted = Date.parse(DateStr);var myDate = new Date(converted);if(isNaN(myDate)){DateStr=DateStr.replace(/:/g,"-");DateStr=DateStr.replace(" ","-");DateStr=DateStr.replace(".","-");var arys= DateStr.split('-');switch(arys.length){case 7 : myDate = new Date(arys[0],--arys[1],arys[2],arys[3],arys[4],arys[5],arys[6]);break;case 6 : myDate = new Date(arys[0],--arys[1],arys[2],arys[3],arys[4],arys[5]);break;default: myDate = new Date(arys[0],--arys[1],arys[2]);break;};};return myDate;}
var s1="2011-03-31 00:58:30" var s2="2011-04-01 08:58:48"
alert(parseInt((StringToDate(s1)-StringToDate(s2)) / 1000)) /*返回秒*/
alert(parseInt((StringToDate(s1)-StringToDate(s2)) / 86400000)) /*返回天*/
/*
switch (strInterval) {
case 's' :return parseInt((dtEnd - dtStart) / 1000);
case 'n' :return parseInt((dtEnd - dtStart) / 60000);
case 'h' :return parseInt((dtEnd - dtStart) / 3600000);
case 'd' :return parseInt((dtEnd - dtStart) / 86400000);
case 'w' :return parseInt((dtEnd - dtStart) / (86400000 * 7));
case 'm' :return (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12) - (dtStart.getMonth()+1);
case 'y' :return dtEnd.getFullYear() - dtStart.getFullYear();
}
*/
热心网友
时间:2022-04-22 17:23
st,second,sign)
{
fArray = first.split(sign);
sArray = second.split(sign):
var fDate = new Date(fArray[0],fArray[1],fArray[2]);
var sDate = new Date(sArray[0],sArray[1],sArray[2]);
var t = Math.abs(fDate.getTime()-sDate.getTime());
var days = t/1000*60*60*24;
return days;
}
如果你的日期格式可以是2002-2-12,
sign为间隔符号。
也就是在下面的代码中,你调用的时候可以是这样
compareDate("2002-2-12","2002-1-1","-")
热心网友
时间:2022-04-22 19:14
<script>
var date1=new Date('2016/1/1 0:0:0'); //开始时间
var date2=new Date(); //结束时间
var date3=date1.getTime()-date2.getTime(); //时间差秒
//计算出相差天数
var days=Math.floor(date3/(24*3600*1000));
//计算出小时数
var leave1=date3%(24*3600*1000) ; //计算天数后剩余的毫秒数
var hours=Math.floor(leave1/(3600*1000));
//计算相差分钟数
var leave2=leave1%(3600*1000); //计算小时数后剩余的毫秒数
var minutes=Math.floor(leave2/(60*1000));
//计算相差秒数
var leave3=leave2%(60*1000) ; //计算分钟数后剩余的毫秒数
var seconds=Math.round(leave3/1000);
alert("时间差" + days + "天" + hours + "时" + minutes + "分" + seconds + "秒");
</script>追问牛*。现在才回复!
热心网友
时间:2022-04-22 21:22
Calendar cd = Calendar.getInstance();//先实例化对象
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String fristString=df.format(cd.getTime());
String secondString=df.format(userList.getRequdate());
Date fristDate=null;
Date secondDate=null;
try{
fristDate=df.parse(fristString);
secondDate=df.parse(secondString);
}catch(Exception e) {
}
int intday=(int)((fristDate.getTime()-secondDate.getTime())/(24*60*60*1000));
热心网友
时间:2022-04-22 23:47
不知道有没有判断闰年之类的,你可以用如意工具箱里的时间计算器验证一下。