【发布时间】:2012-11-13 15:46:10
【问题描述】:
function getDateFromUrl(url)
{
var urlDateString = url.substring(url.lastIndexOf('/day/')+5);
urlDateString =urlDateString.replace("/index-1.html","");
urlDateString =urlDateString.replace("th","");
urlDateString =urlDateString.replace("rd","");
urlDateString =urlDateString.replace("st","");
urlDateString =urlDateString.replace(","," ");
urlDateString =urlDateString.replace("/"," ");
urlDateString =urlDateString.replace("-"," ");
urlDateString =urlDateString.replace("."," ");
urlDateString =urlDateString.replace(","," ");
urlDateString =urlDateString.replace("/"," ");
urlDateString =urlDateString.replace("-"," ");
urlDateString =urlDateString.replace("."," ");
return new Date(urlDateString);
}
function getDayFromDate(dt)
{
switch (dt.getDay())
{
case 0:
x="Sunday";
break;
case 1:
x="Monday";
break;
case 2:
x="Tuesday";
break;
case 3:
x="Wednesday";
break;
case 4:
x="Thursday";
break;
case 5:
x="Friday";
break;
case 6:
x="Saturday";
break;
}
return x;
}
IE 和opera 不支持这个脚本。因为它们不输出日期,而 chrome 和 firefox 确实输出日期。会不会是因为他们不支持字符串格式的日期。如果是这样,日期必须采用哪种格式。
输入看起来像 C:\example\day\12-October-12 输出应该是 date: Oct 12 2012 day: Friday 代码是 atm 它在 chrome 和 firefox 中工作的方式
任何帮助表示赞赏。
【问题讨论】:
-
我在这里看到的只有两个函数。你能提供一个样本输入吗?我假设您正在调用 getDateFromUrl() 函数;你的网址是什么样的?
-
输入看起来像 C:\example\day\12-October-12 输出应该是 date: Oct 12 2012 day: Friday 代码是 atm 它在 chrome 和 firefox 中工作的方式。跨度>
-
好吧,让我们假设 IE 的开发者工具仍然无法与世界其他地方相提并论;不过,你有没有试过在 Opera 的调试器中一步步跟踪 JS 的执行?
-
看看 date.js 库。
-
您的 JSfiddle 在 Chrome 中不起作用(生成标签
Date:和Day:,后面没有任何内容),并且您的示例代码在urlDateString中为您的示例输入生成字符串"xample\day\12 October 12"数据,这是可以理解的,Date不会接受它作为有效的日期值。
标签: javascript date browser-support