- 如果new Date("2016/06/17, 18:47:52") 是這樣的話就會只出現(xiàn)小時并且報countdown.js:53 Uncaught TypeError: Cannot read property 'length' of undefined 要是new Date(2016,6,17,22,47,52)這樣的話,就會都是0,而且不報錯,這是怎么回事 當(dāng)前時間為?2016,7,16 20:18 麻煩大家了 -
var WINDOW_WIDTH = 1024;
var WINDOW_HEIGHT = 768;
var RADIUS = 8;
var MARGIN_TOP = 60;
var MARGIN_LEFT = 30;
const endTime = new Date("2016/06/17, 18:47:52");
?var curShowTimeSeconds = 0;
window.onload = function () {
? var canvas = document.getElementById('canvas');
? var context = canvas.getContext("2d");
? canvas.width = WINDOW_WIDTH;
? canvas.height = WINDOW_HEIGHT;
? curShowTimeSeconds = getCurrentShowTimeSeconds();
? render(context);
}
function getCurrentShowTimeSeconds() {
? var curTime = new Date();
? var ret = curTime.getTime() - endTime.getTime();
? ret = Math.round(ret / 1000);
? return ret >= 0 ? ret : 0;
}
function render(cxt) {
? var hours = parseInt(curShowTimeSeconds / 3600);
? var minutes = parseInt((curShowTimeSeconds - hours*3600 )/ 60);
? var seconds = curShowTimeSeconds % 60;
? renderDigit(MARGIN_LEFT, MARGIN_TOP, parseInt(hours / 10), cxt)
? renderDigit(MARGIN_LEFT + 15 * (RADIUS + 1), MARGIN_TOP, parseInt(hours % 10), cxt)
? renderDigit(MARGIN_LEFT + 30 * (RADIUS + 1), MARGIN_TOP, 10, cxt)
? renderDigit(MARGIN_LEFT + 39 * (RADIUS + 1), MARGIN_TOP, parseInt(minutes / 10), cxt);
? renderDigit(MARGIN_LEFT + 54 * (RADIUS + 1), MARGIN_TOP, parseInt(minutes % 10), cxt);
? renderDigit(MARGIN_LEFT + 69 * (RADIUS + 1), MARGIN_TOP, 10, cxt);
? renderDigit(MARGIN_LEFT + 78 * (RADIUS + 1), MARGIN_TOP, parseInt(seconds / 10), cxt);
? renderDigit(MARGIN_LEFT + 93 * (RADIUS + 1), MARGIN_TOP, parseInt(seconds % 10), cxt);
}
function renderDigit(x, y, num, cxt) {
? cxt.fillStyle = "rgb(0,102,153)";
? for (var i = 0; i < digit[num].length; i++)
? ? for (var j = 0; j < digit[num][i].length; j++)
? ? ? if (digit[num][i][j] == 1) {
? ? ? ? cxt.beginPath();
? ? ? ? cxt.arc(x + j * 2 * (RADIUS + 1) + (RADIUS + 1), y + i * 2 * (RADIUS + 1) + (RADIUS + 1), RADIUS, 0, 2 * Math.PI)
? ? ? ? cxt.closePath()
? ? ? ? cxt.fill()
? ? ? }
}
哪里有問題么
2016-07-16
var ret = endTime.getTime() - curTime.getTime();你好像寫反了
2019-06-06
我的也是全是0? 這個怎么解決呢
2016-07-20
谷歌瀏覽器的話還是寫成new Date(2016,6,22,22,47,52)這樣比較好,如果是new Date("2016/06/22, 18:47:52")的話,顯示的都是0