你好,我非常接近制作这个日期时间计数器。我假设因为我在我的代码中使用date
new Date
我没有让代码工作?我想假设使用date
datetime
time
?当我做一个'puts"#{reservation.due_date}"我得到了正确的duedate所以我很困惑为什么计数器不工作。
<div id="dueDate-counter">
<table>
<tr>
<td>days</td>
<td>hrs</td>
<td>mns</td>
<td>secs</td>
</tr>
<tr>
<td id="days"></td>
<td id="hours"></td>
<td id="minutes"></td>
<td id="seconds"></td>
</tr>
</table>
<script type="text/javascript">
function countdown() {
var now = new Date();
var eventDate = new Date(<%= reservation.due_date %>);
<%= puts "here is reservation !!!!!!!" %>;
<%= puts "#{reservation.due_date}" %>;
var currentTime = now.getTime();
var eventTime = eventDate.getTime();
var remTime = eventTime - currentTime;
var s = Math.floor(remTime / 1000);
var m = Math.floor(s / 60);
var h = Math.floor(m / 60);
var d = Math.floor(h / 24);
h %= 24;
m %= 60;
s %= 60;
h = (h < 10) ? "0" + h : h;
m = (m < 10) ? "0" + m : m;
s = (s < 10) ? "0" + s : s;
document.getElementById("days").textContent = d;
document.getElementById("days").innerText = d;
document.getElementById("hours").textContent = h;
document.getElementById("minutes").textContent = m;
document.getElementById("seconds").textContent = s;
setTimeout(countdown, 1000);
}
countdown();
</script>
</div>
&#13;
在查看页面时,我会在days
hours
etc
中显示空白数据。在script
的开头附近我添加了eventDate
我将due_date
作为新日期。现在记住它是一个DateTime格式,因此它在数据库中有小时分钟秒。所以这不是阅读,因为我做了它new Date
有一个datetime
??谢谢!!
reservation.due_date显示在db中,例如:2017-02-09 00:02:00
答案 0 :(得分:1)
您只需要使用引用
包装截止日期的输出var eventDate = new Date("<%= reservation.due_date %>");
如果不这样做,您将在控制台浏览器上出现此错误
Uncaught SyntaxError: missing ) after argument list