计算时间差的 哪位大哥你在不在 50c在此

计算时间差的  哪位大哥你在不在  50c在此

问题描述:

图片说明

如图片一样 当阳历改变阴历也去跟随着改变

那个下拉的已经实现了
求给位大神帮忙

加油就是 计算时间差 该怎么写
最好有代码 没有代码 告诉思路也可以
最好详细点 代码加注释
谢谢大家了

http://www.w3dev.cn/article/20151216/JavaScript-Lunar-Solar-select-demo.aspx

里面一斤更有计算时间了,只是计算天数。你的小时,分钟,秒没有意义,应为只是日期,没包含时间,这3个肯定都是0,除非你添加事件下拉。

年月这2个不要定,你一年是356天还是多少天呢?31天你算一个月还是1个月1天?你这种要确定了自己换算下就行了

分别将结束时间 和 开始时间 转化为 时间戳 ** 用开始时间减去结束时间 得到相差的时间戳 ** 最后通过转化 将时间戳 转化年月日 .....

可以通过time函数实现

先new连个时间对象一个表示开始时间一个表示结束时间
var begindate=new Date();
var enddate=new Date();
然后用你的页面元素控制分别设置年月日小时等代码如下:
dateObject.setYear(year);
dateObject.setMonth(month);//注意0(一月) ~ 11(十二月)
dateObject.setDate(day);
因为你没有控制小时和分钟等所以建议都设置为0或最大值。代码类似:
dateObject.setHours(hour,min,sec,millisec)//参数分别对应小时、分钟、秒、毫秒
现在开始区时间差:
var tempdate=enddate.getTime()-begindate.getTime();//这个是获取的时间相差的毫秒数
下面就是对毫秒数进行计算得出年月周等了;
var ms=tempdate%1000;
var s=((tempdate-ms)/1000)%60;
var m=((tempdata-ms-s* 1000)/60)%60;
var h=((tempdate-ms-s*1000-m*60*1000)/3600)%24;
var d=((tempdate-ms-s*1000-m*60*1000-h*3600*1000)/(3600*24))%7;
var z=((tempdate-ms-s*1000-m*60*1000-h*3600*1000-d*24*3600*1000)/(3600*24*7))%4;
var month=((tempdate-ms-s*1000-m*60*1000-h*3600*1000-d*24*3600*1000-z*7*24*3600*1000)/(3600*24*7*4))%12;
var year=(tempdate-ms-s*1000-m*60*1000-h*3600*1000-d*24*3600*1000-z*7*24*3600*1000-month*4*7*24*3600*1000)/(3600*24*7*4*12);

个人觉得关键在于阴历。。。

哥们,家里电脑没装VS装好了写给你,不过得告诉你你这个只能得到天数或者也可以转换为年+天不过没有意义。要想得到你这个结果只能是获取系统的两个时间点再取差,而且你的控件大部分都用错了