这是一个将unix日期时间转换为日期时间的函数,但我仍然遇到解析日期特定格式的问题。转换后的unix日期为
((2014年5月14日星期三,格林威治标准时间-0800(太平洋标准时间)11:15:12)
显然我的d3.time.format有问题("%a%b%d%Y%I:%M:%S%Z")。解析;
这是函数
<!DOCTYPE html>
<meta charset="utf-8">
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>
var _parse = d3.time.format("%a %b %d %Y %I:%M:%S %Z").parse;
var maybeDateString = timeConverter("\/Date(1398898800000+0100)\/");
console.log(maybeDateString);
function timeConverter(maybeDateString){
maybeDateString= maybeDateString.substring(0, 26);
maybeDateString= Date(maybeDateString*1000)
maybeDateString= _parse(maybeDateString);
return maybeDateString;
}
console.log(_parse)
</script>
为什么我不能控制台.log(_parse)?
答案 0 :(得分:0)
您可以使用d3.time.format.iso
作为日期格式设置功能,并使用d3.time.format.iso.parse
作为解析功能来获得所需的结果。
这些使用内置的Javascript ISO解析函数,因此可以处理Javascript Date函数的标准输出(包括长时区名称)。
相比之下,大多数d3数据解析函数都非常严格 - 输入数据必须与指定的格式完全匹配,否则返回null。由于d3格式说明符无法指示长时区名称或任意字符串,因此您的日期格式永远不会与日期的字符串版本匹配。