js计算时间

//JavaScriptDocumentfunctioncheck_tdate(odate){varcheckArray=newArray();//nowArray=od... // JavaScript Document
function check_tdate(odate){
var checkArray= new Array() ;
//nowArray = odate.split(" ");
checkArray = odate.split("-");
checkDate = new Date(checkArray[0],checkArray[1],checkArray[2]);

var nowTime = new Date();// 现在时间
var the_year = nowTime.getYear();
var the_month = nowTime.getMonth() + 1;
var the_day = nowTime.getDate();
nowTime = new Date(the_year,the_month,the_day);

var thesecond = 24 * 60 * 60 *1000 ;
var diffTime = (nowTime - checkDate)/thesecond;//计算天数
if (diffTime>0)
{
myreturn ="<div style='position:absolute;z-index:100;margin-left:150px;'><img src=../../../images/guoqi.gif></div>";
}
else if (diffTime==0)
{
myreturn = '';
}
if (diffTime<0)
{
myreturn ="<div style='position:absolute;z-index:100;margin-left:150px;'>在这里我想输出离过期还有几天几小时 不知道该如何写</div>";
}
else
{
diffTime=0-diffTime;
myreturn = '';
}
//alert(myreturn);
document.write(''+myreturn+'')
}
展开
 我来答
百度网友9685a44
2010-02-02 · TA获得超过576个赞
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:202万
展开全部
这两句有问题,Date对象不能这样相减吧?
var diffTime = (nowTime - checkDate)/thesecond;
diffTime=0-diffTime;

应该这样
var diffTime =nowTime.getTime() - checkDate.getTime();

得到差值后,判断正负这些就不多说了,说一下怎么获得这个差值是多少天、小时、分钟和秒。

注:下面的dTime是 new Date(diffTime);

天数可以用你上面的方法计算得到,不过你那方法没有取整。取整的话,就是这样:
var dDays = parseInt(dTime.getTime() / 3600 * 24 * 1000);

然后就剩下时分秒了,我们注意到,new Date(0)是"Thu Jan 01 1970 08:00:00 GMT+0800",所以再减去八个钟就是 1970年1月1日 零时了。所以将上面的diffTime减去八个钟的毫秒数再放到new Date()里面,再获取到的时分秒就是剩余的时间了:

var dHours = dTime.getHours();
var dMinutes =dTime.getMinutes();
var dSeconds = dTime.getSeconds();

你可以看下我的另一个回答
http://zhidao.baidu.com/question/135976703.html
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式