到目前为止,我的开发任务已经完成,在联系后端更正时间戳的数据传送之后,我已经完全实现了相应的功能。连接服务器进行测试也成功实现。鉴于工作不多,以下为我对传入时间戳的处理程序。
时间戳转为正常时间显示
getTime:function(value) {//value为时间戳
var date = new Date(value);
var Y = date.getFullYear();
var m = date.getMonth() + 1;
var d = date.getDate();
var H = date.getHours();
var i = date.getMinutes();
var s = date.getSeconds();
if (m < 10) {
m = '0' + m;
}
if (d < 10) {
d = '0' + d;
}
if (H < 10) {
H = '0' + H;
}
if (i < 10) {
i = '0' + i;
}
if (s < 10) {
s = '0' + s;
}
var t = Y+'/'+m+'/'+d+' '+H+':'+i+':'+s;
return t;
},
计算开始时间与当前时间的差值,并输出
后端开发人员曾想着传服务器的时间到本地,进行计算,但我觉得虽然更严谨,但是目前这个采用本地时间的已经够用,暂时就选择这种方式进行计算。如有需要,在后续的迭代中在进行相应开发。
//计算开始时间与当前时间之间的时间差 多少天时分秒
Delta_T:function(startTime) {
var timestamp=new Date().getTime();
var date1 = "";
if(timestamp > startTime){
return "会议已开始,请加入会议"
}else{
date1 = timestamp; //当前时间
}
var date2 = startTime; //开始时间
var date3 = date2- date1; //时间差的毫秒数
//计算出相差天数
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);
if(days == 0){
var rmsg = "距离会议开始还有";
if(hours < 10){
rmsg += "0"+ hours;
}else{
rmsg += hours;
}
if(minutes < 10){
rmsg += ":0" + minutes;
}else{
rmsg += ":" + minutes;
}
if(seconds < 10){
rmsg += ":0" + seconds;
}else{
rmsg += ":" + seconds;
}
return rmsg;
}else{
return "距离会议开始还有"+ days + "天";
}