5

如何在 nvd3.js 中制作日期格式。例如:

data1 = [{
  "values": [{
    "x": 1374561814000,
    "y": 2
  }],
  "key": "x-axis"
}]

1374561814000这是什么意思,它是如何从日期转换的?

4

1 回答 1

16

日期1374561814000当前是 Unix 时间戳。

您可以定义您希望日期在传递到图表时如何显示。阅读 d3 指南Time formatting会让你有更好的理解。

chart.xAxis.tickFormat(function(d) {
    // Will Return the date, as "%m/%d/%Y"(08/06/13)
    return d3.time.format('%x')(new Date(d))
});

或者您可能想要返回显示日期/月份/年份的日期戳,因为您可以简单地执行以下操作:

return d3.time.format('%d/%m/%y')(new Date(d))

假设您希望 unix 时间戳将日期返回为时间(以分钟和小时为单位),它只是:

return d3.time.format('%X')(new Date(d)) // Capital X

上面的例子已经过测试HERE,可以使用下面的值(取自 d3 时间格式化文档)。

Constructs a new local time formatter using the given specifier. The specifier string may contain the following directives.     

 - %a - abbreviated weekday name.
 - %A - full weekday name.
 - %b - abbreviated month name.
 - %B - full month name.
 - %c - date and time, as "%a %b %e %H:%M:%S %Y".
 - %d - zero-padded day of the month as a decimal number [01,31].
 - %e - space-padded day of the month as a decimal number [ 1,31]; equivalent to %_d.
 - %H - hour (24-hour clock) as a decimal number [00,23].
 - %I - hour (12-hour clock) as a decimal number [01,12].
 - %j - day of the year as a decimal number [001,366].
 - %m - month as a decimal number [01,12].
 - %M - minute as a decimal number [00,59].
 - %L - milliseconds as a decimal number [000, 999].
 - %p - either AM or PM.
 - %S - second as a decimal number [00,61].
 - %U - week number of the year (Sunday as the first day of the week) as a decimal number [00,53].
 - %w - weekday as a decimal number [0(Sunday),6].
 - %W - week number of the year (Monday as the first day of the week) as a decimal number [00,53].
 - %x - date, as "%m/%d/%Y".
 - %X - time, as "%H:%M:%S".
 - %y - year without century as a decimal number [00,99].
 - %Y - year with century as a decimal number.
 - %Z - time zone offset, such as "-0700".
 - %% - a literal "%" character.

希望能帮助到你。

如果其他成员认为这需要改进,请继续改进答案。

于 2013-08-06T08:54:41.373 回答