0

我为动态创建的图形编写了一些代码,它使用 Date.UTC() 创建格式化的日期。

它在几个月内完全可以正常工作,但是我在跨越几个月时遇到了麻烦,即 2 月到 3 月创建了 2 月 29 日、30 日和 31 日,现在我发现了一个错误,导致 5 月 31 日是 6 月 1 日......

我试图找到答案,但还没有运气。是否有一个我忽略的简单修复或有修复?

s.Set('chart.xmin', Date.UTC(<?php echo $startyear.",".$startmonth.",".$startday.",".$starthour.",".$startminute; ?>));            
    s.Set('chart.xmax', Date.UTC(<?php echo $finishyear.",".$finishmonth.",".$finishday.",".$finishhour.",".$finishminute; ?>));

干杯

詹姆士

4

1 回答 1

0

JavaScript 月份是 0-11,而 PHP 是 1-12。因此,当您在 PHP 页面中生成 JavaScript 代码时,您需要从月份中减去 1。

但是传递时间戳不是更容易吗?例如:

new Date(<?php echo date_timestamp_get($yourdate) * 1000 ?>)

之所以* 1000存在,是因为 PHP 的时间戳以秒为单位,而 JavaScript 的时间戳以毫秒为单位。但他们都使用相同的参考日期——1/1/1970 UTC纪元。

在此处参考 PHPdate_timestamp_get 文档

于 2013-06-04T06:07:01.950 回答