【发布时间】:2009-11-11 04:46:34
【问题描述】:
我正在尝试将查询字符串值转换为 Javascript 日期对象,然后将其转换为 ISO 日期格式。
我有三个按钮 - 一个提取查询字符串并显示值 - 正常工作 其次,使用第一个函数提取查询字符串(有效),然后转换为日期 - 失败 - 获取 NaN 第三,将硬编码字符串直接传递给第二个函数 - 有效。
代码如下所示。如何获取要转换为 Javascript 日期的 querstring 值
<head>
<SCRIPT LANGUAGE="JavaScript" SRC="./date.format.js">
</SCRIPT>
</head>
<script>
function DateTest(dt)
{
var myDate = new Date(dt);
alert(myDate);
var newDate = myDate.format("isoDateTime");
document.write(newDate);
alert(newDate);
}
function QueryDateTest(parm)
{
DateTest(getRequestParameter(parm));
}
function getRequestParameter( name ) {
var strReturn = "";
var strHref = window.location.href;
if ( strHref.indexOf("?") > -1 ){
var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
var aQueryString = strQueryString.split("&");
for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
if (aQueryString[iParam].indexOf(name.toLowerCase() + "=") > -1 ){
var aParam = aQueryString[iParam].split("=");
strReturn = aParam[1];
break;
}
}
}
alert(unescape(strReturn));
return(unescape(strReturn.toString()));
}
</script>
<body>
<input type="button" id="hello-world1" value="QueryString" onClick="getRequestParameter('create');" />
<input type="button" id="hello-world2" value="ISODate" onClick="QueryDateTest('create');" />
<input type="button" id="hello-world3" value="HardCoded" onClick="DateTest('11/10/2009');" />
【问题讨论】:
-
您的 Date 类以“isoDateTime”为参数的格式函数是什么?
-
查询字符串的外观如何?据我所知,yyyy/mm/dd [hh:mm:ss:ms] 格式最适合创建与区域设置无关的日期(new Date('yyyy/mm/dd'))。
-
dategormat.js 文件来自stevenlevithan.com/assets/misc/date.format.js。我的查询字符串是 ?create='11/11/2009'
标签: javascript date query-string iso8601