为什么使用日期%d /%m /%Y将0000-00-00转换为30/11/-1?

问题描述:

与此代码为什么使用日期%d /%m /%Y将0000-00-00转换为30/11/-1?

<?php echo JHTML::Date($field, "%d/%m/%Y"); 
?> 

转换一切就像一个魅力,但 当该值设置到0000-00-00的工作,我的日期功能转换到30/11/-1。

我需要一个像IF:

如果值= 0000-00-00 输出=回声 “无日期缴费”

谢谢

+0

约JHTML http://api.joomla.org/Joomla-Framework/HTML/JHTML.html – stefano 2011-01-05 16:13:14

由于文档JHTML ::日期中陈述根据 当前本地,并增加了时间格式化日期

返回偏移

这意味着,在转换日期时,时区将被添加,可能意味着GMT +区域会导致负值。

尝试调整该函数的偏移参数。

编辑:

<?php 
    echo JHTML::Date($field, "%d/%m/%Y", -4); 
    /* The third param represents the timezone offset, set it t your timezone 
     and it should work as expected */ 
?> 
+0

信息请您提供我一个示例代码? – stefano 2011-01-05 16:39:04

不知道如何JHTML::Date,没有人能回答你

但可以并处像

if ($field=='0000-00-00' || $field==0) 
{ 
    echo 'no date available'; 
} 
else 
{ 
    echo JHTML::Date($field, "%d/%m/%Y"); 
} 
012的附加检查在 JHTML::Date,个

细节使用strftime