各位老师:)
主要请教在C#后端代码已实现的判断时间的逻辑,如何在Js里重新实现过程中的问题,
感谢大家有好的参考资料提供。谢谢
1.在C#后端代码写的逻辑
//(开始时间+爬虫持续时间)-当前时间 =>转换为分钟数
double min= (t.StateTime.AddMinutes(t.ProcessTime) - DateTime.Now).TotalMinutes
2.目前JS前端的逻辑
var StateTimeval = '2013-12-11 17:19:33';//状态时间
var ProcessTimeVal = 1;//爬虫时间
GetTotalSeconds(StateTimeval, ProcessTimeVal);
//获取总分钟数 状态时间+爬虫时间 -当前时间
function GetTotalSeconds(StateTimeval, ProcessTimeVal) {
/*状态时间+爬虫时间(已实现)*/
var StateTimeDateOfFromat = new Date(StateTimeval.replace(/-/g, " / "));//要计算的时间
var StateTimeofMinute = StateTimeDateOfFromat.getMinutes();//获取分钟属性
StateTimeDateOfFromat.setMinutes(StateTimeofMinute+1); //设置分钟属性
alert(StateTimeDateOfFromat);
/*如何和当前时间相减,并转换为TotalMinutes(未实现)*/
return min;
//startTime和endTime是18/12/2002格式 var startTime = $("#<%=txtDepartureDate.ClientID %>").val(); var endTime = $("#<%=txtReturnDate.ClientID %>").val(); var newDate, sDate, eDate, iDays //js月份默认是从0开始的所以月份要-1 newDate = startTime.split("/") sDate = new Date(aDate[2], aDate[1]-1, aDate[0]) newDate = endTime.split("/") eDate = new Date(aDate[2], aDate[1]-1, aDate[0]) //(1000 * 60 * 60 * 24) 得到分钟除60000就好了 iDays = Math.floor((eDate2 - sDate) / 86400000)
谢谢老师:)
感谢老师的思路:
//js月份默认是从0开始的所以月份要-1 newDate = startTime.split("/
但我需要计算时分秒时,还是没有找到合适的办法...
目前这个问题,我暂时用后台传递到前台的方法来做了,春节时,我想其他办法解决。
原因如下:
1.因为类似:JS计算出的时间和.net类库的时间有很大差距
我后来采用 d.getTime(),将比较的时间统一转换为时间戳
double min= (t.StateTime.AddMinutes(t.ProcessTime) - DateTime.Now).TotalMinutes
//增加月
function
AddMonths(date, value) {
date.setMonth(date.getMonth() + value);
return
date;
}
//增加天
function
AddDays(date, value) {
date.setDate(date.getDate() + value);
return
date;
}
//增加时
function
AddHours(date, value) {
date.setHours(date.getHours() + value);
return
date;
}
谢谢老师:)
目前这个问题,我暂时用后台传递到前台的方法来做了,春节时,我想其他办法解决。
原因如下:
1.因为类似:JS计算出的时间和.net类库的时间有很大差距
我后来采用 d.getTime(),将比较的时间统一转换为时间戳
double min= (t.StateTime.AddMinutes(t.ProcessTime) - DateTime.Now).TotalMinutes