【发布时间】:2011-09-08 14:01:52
【问题描述】:
我正在使用date.js.
time_container.innerHTML = Date.now().toString('T'); 行运行良好、短暂,现在在 Firebug 控制台中抛出错误:radix must be an integer at least 2 and no greater than 36。它肯定在早些时候工作。
注意:date.js toString() 函数使用特殊的format specifiers。
var show_date = {
setup: function() {
setInterval(show_date.update, 5000);
},
update: function() {
var date_container = app.get('js_date');
var time_container = app.get('js_time');
if (date_container) {
date_container.innerHTML = Date.today().toString('dS of MMMM yyyy');
}
if (time_container) {
//time_container.innerHTML = Date.now().toString('T');
var d1 = new Date();
time_container.innerHTML = d1.toString('T');
}
}
}
app.onload(show_date.setup);
app.get() 只是document.getElementById() 的快捷方式。 app.onload() 是(您可能猜到的)一个 onload 函数。
注释掉的行导致了问题。评论下方的替换行有效,但没有给出我想要的格式。 T 应该输出 h:mm:ss tt(小时、分钟、秒、上午/下午)。缺少上午/下午位。
另外,我确定Date.now() 今天早些时候还在工作。也许我会尝试使用计算机时钟来看看这是否会有所不同。
包含的 date.js 版本是 date-en-IE.js。代码中声明的日期是 2008-05-13,尽管我今天早些时候从 SVN 结帐中得到了它。
【问题讨论】:
-
你想做什么?
toString的参数是您要编码数字的基数。例如,toString(16)将为您提供十六进制。 -
啊,我现在看到 date.js 有一个
toString函数 (code.google.com/p/datejs/wiki/APIDocumentation#toString)。好吧,在我看来,如果 date.js 不起作用,您就没有正确包含它。尝试在控制台中执行Date.today,看看它会返回什么。 -
Date.today()在控制台中返回Date {Thu Sep 08 2011 00:00:00 GMT+0100 (GMT Daylight Time)}。而且,在同一个脚本中,date_container.innerHTML = Date.today().toString('dS of MMMM yyyy');工作正常。问题似乎仅限于Date.now()。 -
好吧,除非我看到您的代码,否则我无能为力。尝试用尽可能少的代码重现问题,否则只需发布您的全部内容。
-
@Xeon06。添加了更多细节。
标签: javascript date datejs