如何解析这个日期2014年5月14日星期一11:15:12 GMT-0800(太平洋标准时间)使用d3.format?

时间:2014-05-14 22:28:27

标签: json function parsing d3.js console

这是一个将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)?

1 个答案:

答案 0 :(得分:0)

您可以使用d3.time.format.iso作为日期格式设置功能,并使用d3.time.format.iso.parse作为解析功能来获得所需的结果。

这些使用内置的Javascript ISO解析函数,因此可以处理Javascript Date函数的标准输出(包括长时区名称)。

相比之下,大多数d3数据解析函数都非常严格 - 输入数据必须与指定的格式完全匹配,否则返回null。由于d3格式说明符无法指示长时区名称或任意字符串,因此您的日期格式永远不会与日期的字符串版本匹配。