我正在使用Jason Moon的Calendar Script来允许用户设置事件的日期。虽然这对年和月都很好,但我在设置正确的日期时遇到了问题。它始终将事件的日期设置为用户选择的前一天;即使这意味着回到上个月(8月1日变为7月31日),也会发生这种情况。我无法弄清楚为什么会这样做或正在做什么!
客户端代码是:
<script>
DateInput('publicationDate',true,“YYYY-MM-DD”,
<
?php echo $ results ['article'] - &gt; publicationDate?“'”。date(“Ymd”,$ results ['article'] - &gt; publicationDate)。“'”:“”?&gt;);
</script>
虽然我可以想象的唯一一点服务器端代码导致此错误:
// Parse and store publication date
if ( isset( $params['publicationDate'] ) ) {
$publicationDate = explode ( '-', $params['publicationDate'] );
if ( count( $publicationDate ) == 3 ) {
list ($y, $m, $d) = $publicationDate;
$this->publicationDate = mktime(0, 0, 0, $m, $d, $y);
}
}
有谁知道可能导致这种情况的原因是什么?它可能与我在配置文件(America / Toronto)中设置的时区有关吗?
答案 0 :(得分:1)
尝试将时间设置为mktime或中午而不是00:00:00 - 你应该明确地声明一个时区,这是一种很好的做法。如果它总是一天出去,你肯定可以按照@diEcho的建议在mktime语句中做$ d + 1(但是你说这是出日期,而不是月份,我相信日期是1索引的不是0 - 但如果它一直是错的,你可以使它一直固定)。
答案 1 :(得分:0)