0

我在一个片段中有以下代码:

<?php
$resource = $modx->getObject('modResource', $id);
if(!$resource) return;
$date = $resource->getTVValue('timerData');
$remaining = $date - time();
$days_remaining = floor($remaining / 86400);
$hours_remaining = floor(($remaining % 86400) / 3600);
return $modx->getChunk($tpl, array('days' => $days_remaining, 'hours' => $hours_remaining));

$date 从 timerData 获取它的值,这是一个模板变量,因此可以由用户调整。我已经将输入和输出都设置为日期,但结果我得到了一个从-15000+天和小时倒计时的计时器。这是怎么发生的?它在没有电视的情况下工作正常,但如果不深入研究代码,它就无法管理。任何建议/解决方案将不胜感激。干杯马可

电视返回的实际输入:2014-07-10 00:00:00 而脚本部分返回:-15832 天和 -13 小时(手动写入天和小时,因为实际值为 $days 和 $hours来自 php 脚本)

4

1 回答 1

0

只需将电视输入转换为时间戳:

$date = $resource->getTVValue('timerData');
list ($d, $m, $Y, $H, $M, $S) = sscanf($date, "%2d-%2d-%4d %2d:%2d:%2d");
$date = mktime($H, $M, $S, $m, $d, $Y); 
于 2013-05-06T16:19:37.040 回答