代码能力太差,比较纠结的代码记录于此。
注:获得时分秒的关键在于Math.floor,向下取整从而不伤原值。
$scope.findOneFromRedis=function(){
var id=$location.search()['id'];
seckillGoodsService.findOneFromRedis(id).success(
function(response){
$scope.entity=response;
var allsecond=Math.floor((new Date($scope.entity.endTime).getTime()-new Date($scope.entity.startTime).getTime())/1000);
time=$interval(function(){
if(allsecond>0){
allsecond=allsecond-1;
$scope.timeString=converTimeString(allsecond);
}else{
$interval.cancel(time);
alert("秒杀已结束");
}
},1000);
}
);
}
converTimeString=function(allsecond){
var day=Math.floor(allsecond/60/60/24);
var hour=Math.floor((allsecond-day*24*60*60)/60/60);
var minute=Math.floor((allsecond-day*24*60*60-hour*60*60)/60);
var second=allsecond-day*24*60*60-hour*60*60-minute*60;
var timeString="";
if(day>0){
timeString+=day+"天"
}
return timeString+hour+"时"+minute+"分"+second+"秒";
}