后台时间计算问题
现在在做会议室预约功能,用色块代表时间段 现在遇到一个计算时间的问题!用当前时间(A)+可预约的天数(比如传来的天数是7)(B)=可预约的天数(C),这个计算出来的是可预约时间(可预约的色块我让它是红色)C得到的是从当前时间到传来的天数7 算出这7天可以预约 7天以后的就不能预约了,让色块变成绿色, 怎么计算 ?怎么判断?
------解决方案-------------------- 其实页面样式控制跟判断都不难!!!
主要的在于你的
可预约的天数
这个会议室资源可是要时时更新的、也许你在判断的那一刻、这个资源就被别人预定占用了!
先撇开这些不说:
用JS计算当前时间加上天数(可预约时间)
var newDate = new Date();// 现在时间
var the_year = nowTime.getYear();
var the_month = nowTime.getMonth() + 1;
var the_day = nowTime.getDate()+7; //7为可预约天数
newDate = new Date(the_year,the_month,the_day);
色块颜色改变:
这个就得看你生成的色块某个属性的规律了!
如、色块的name属性的规律为一天一个
id="20130101"
id="20130102"
id="20130103"
id="20130104"
那么继续使用之前js代码的当前时间
var newDate = new Date();// 现在时间
var the_year = nowTime.getYear();
var the_month = nowTime.getMonth() + 1;
var the_day = nowTime.getDate();
for(var i = 1 ;i <= 7(可预约天数) ; i++){
the_day = nowTime.getDate() + i ;
document.getElementById(the_year+the_month+the_day).style.backgroundColor = "red";
}
大概就这么一种思路!
个人理解!
------解决方案-------------------- 引用: 引用:你逻辑不是挺清晰的么?你的色块是如何生成了,一天一小块?不知道怎么算这个时间啊
long ltemp2 = System.currentTimeMillis();这个是当前时间A 传来控制天数7 我要把这七天也转换为long型把?所以应该是 7*86400000 B,得到这七天可以预约?怎么让色块塞到这七天里呢 又怎么判断这……
不要用毫秒计算,用Calendar类的add(Calendar.DATE, 7);来计算,
比如今天是2013/01/04 它会返回 2013/01/11,这样你在2013/01/04 到 2013/01/11 对应色块必成红色就可以了。
还是回到我刚才的问题,你的色块是如何生成的?和日期又是如何映射的?