Javascript将时间显示为下一个15分钟的时间间隔

问题描述:

我正在按15分钟的时间间隔显示数据并显示任务列表的时间。其实要展现给接下来的15,因此,如果现在时间是下午3时23分,我想接下来的时间显示为下午3点45不是下午3点38,那么3.45之后,我们将显示16:00Javascript将时间显示为下一个15分钟的时间间隔

<% 
var date = new Date(); 
for(var i=1 ;i<=4;i++) 
    { 

var d2 = new Date (date); 
d2.setMinutes (date.getMinutes() + 15*i); 

var hour = d2.getHours() % 12; 
var min = d2.getMinutes(); 
var seprater=":"; 


%> 

    <th style='color: white; font-weight: bold; background-color: rgb(28, 94, 85);'><%=hour+seprater+min%></th> 



    <% 

<!-- <th style='color: white; font-weight: bold; background-color: rgb(28, 94, 85);'><%=hour+seprater+min+15%></th> 
     <th style='color: white; font-weight: bold; background-color: rgb(28, 94, 85);'><%=hour+seprater+min+15%></th> 
     <th style='color: white; font-weight: bold; background-color: rgb(28, 94, 85);'><%=hour+seprater+min+15%></th> 
     --> 

只要复制下面的代码在“body”标签内并在浏览器中打开以检查

<script> 
var date = new Date(); 
var time = date.getTime(); 
var mint = date.getMinutes(); 

for(var i=1 ;i<=4;i++) 
    { 
var quarter_min = Math.ceil((mint/15))*15 +(i*15); 
var d2 = new Date(time + (quarter_min-mint) *60000); 
document.write((d2.getHours()%12)+":"+d2.getMinutes()+"<br />"); 
    } 


</script> 

我不“知道你的脚本(‘<%’?),但你可以这样做

var date = new Date(); 
for(var i=0 ;i<4;i++) 
{ 
    var d2 = new Date (date); 

    if (i == 0) { 
     d2.setMinutes (date.getMinutes()); 
    } else { 
     d2.setMinutes (Math.round(date.getMinutes()/15)*15 + 15*(i-1)); 
    } 
var hour = d2.getHours() % 12; 
var min = d2.getMinutes(); 
var seprater=":"; 

但也有一些更多的问题在你的代码,像前导零,...

+0

你是对的 - 代码删除前导零,这不是什么通缉令 – 2014-12-03 21:39:13