在joomla 2.5中更改格式时,JHTML日历显示错误

时间:2013-11-20 11:48:27

标签: php joomla joomla2.5

我正面临着JHTMl日历方法的问题。这是我的代码,我正在尝试做什么:

edit.php

$this->event->from_date="2013-11-20 5:10:00";
$from_date = explode(" ", $this->event->from_date);

$from_time12 = date("m-d-Y", strtotime($from_date[0]));

echo JHTML::_('calendar', $from_time12, 'from_date', 'from_date', '%m-%d-%Y', array('class' => 'required', 'size' => '15', 'onchange' => 'getfromdate(this.value)'));

它适用于新项目,但是当我编辑现有项目时,它显示错误:

  

DateTime :: __ construct():无法解析时间字符串(10-22-2013)at   位置0(1):意外的字符

我不明白这是什么问题。如果有人有建议请帮忙。谢谢。

1 个答案:

答案 0 :(得分:0)

了解问题所在

通常通过理解错误消息来解决问题。在这种情况下,DateTime会抱怨它无法解析字符串10-22-2013,这是正常的,因为DateTime不接受此格式。如有疑问,请不要忘记查看manual。投入几个小时阅读这些东西可以在将来节省大量时间。

修复代码

例如,要回到您的错误,请尝试在$ from_time12内将日期格式化为Y-m-d

改进代码

此外,您在那里进行的转换相当令人困惑...... strtotime不仅可以直接解析2013-11-20 5:10:00之类的字符串,而且DateTime也可以理解它。因此,您应该可以将$this->event->from_date直接传递给JHTML::_('calendar'...)替换$from_time12,而不是进行大量的转换。