JavaScript Date Object的月份索引从0开始

All*_*Liu 22 javascript php mysql timestamp google-visualization

我的目标是以有效的方式将时间戳从MySQL转换为JavaScript Date对象.这是我当前的片段,它将MySQL时间戳转换为PHP中的格式化日期:

<?php
// formats timestamp into following format: 2009, 7, 30
$date =  date("Y, n, j", strtotime($row["date"]));
?>
Run Code Online (Sandbox Code Playgroud)

然后我$date使用Google的图表API 将此值用于图表,该API需要JavaScript Date对象:

data.setValue(<?=$count;?>, 0, new Date(<?=$date;?>));
Run Code Online (Sandbox Code Playgroud)

问题是JavaScript Date对象以0开始月份索引,因此输出始终提前 1个月.处理这个问题最有效的方法是什么?

提前致谢!

Pao*_*ino 18

您可以为日期构造函数提供mm/dd/yyyy或yyyy/mm/dd格式的日期,它将转换它:

>>> new Date('7/30/2009');
Thu Jul 30 2009 00:00:00 GMT-0700 (Pacific Daylight Time)
>>> new Date('2009/7/30');
Thu Jul 30 2009 00:00:00 GMT-0700 (Pacific Daylight Time)
Run Code Online (Sandbox Code Playgroud)


RaY*_*ell 13

您必须手动1从月份编号中减去额外费用.JS Date对象很乱.

  • 你很震惊地发现JS是一堆乱七八糟的东西?:d (6认同)
  • @AjayPatel - '有些案例',谨慎阐述? (2认同)
  • 记住男孩和女孩,营销人员希望我们用这种混乱的语言编写我们的服务器!好吧,不是建设性的(有一个笑的mods,一切都在开玩笑),但我只是想把它扔出去.我仍然对零索引月份的不一致感到惊讶,但不是一年或一天. (2认同)