一尘不染

JavaScript Date对象的月份索引以0开头

mysql

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

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

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

data.setValue(<?=$count;?>, 0, new Date(<?=$date;?>));

问题在于JavaScript Date对象以0开头月份索引,因此输出总是 提前 1个月。解决此问题的最有效方法是什么?

提前致谢!


阅读 398

收藏
2020-05-17

共1个答案

一尘不染

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

>>> 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)
2020-05-17