# 帝国cms如何调用判断不规则日期型字段显示

*Published:* 2025-04-25
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2025年4月25日，已超过 180天没有更新



```
<?php
$data = $navinfor['data']; // 假设$data格式是 YYYY-MM-DD

// 处理未知时间
if ($data == '0000-00-00') {
    echo '未知';
} else {
    list($year, $month, $day) = explode('-', $data);

    // 只有年份
    if ($month == '00') {
        echo $year . '年';
    }
    // 只有年份和月份
    elseif ($day == '00') {
        echo $year . '年' . (int)$month . '月';
    }
    // 完整日期
    else {
        echo $year . '年' . (int)$month . '月' . (int)$day . '日';
    }
}
?>
```

只判断信息时间包含完整年月日的调用，当data值为0000-00-00.则前台显示为“未知”，如有值则显示为“XXXX年XX月XX日”。

代码如下：

```
<?php
if($navinfor[data]=='0000-00-00')
{
?>
未知
<?
}
else
{
?>
<?=format_datetime($navinfor[data],'Y')?>年<?=format_datetime($navinfor[data],'m')?>月<?=format_datetime($navinfor[data],'d')?>日
<?
}
?>
```