PHP日期编译器

PHP日期编译器,php,datetime,date,Php,Datetime,Date,我刚刚用PHP编写了一个函数,它将日期更改为更易于阅读的格式 function customDate($input_date){ $datetime = explode(' ', $input_date); $date = explode('-', $date); $time = explode(':', $time); $current = date('Y-m-d H:i:s'); $currentdatetime = explode(' ', $current); $curren

我刚刚用PHP编写了一个函数,它将日期更改为更易于阅读的格式

function customDate($input_date){
 $datetime = explode(' ', $input_date);
 $date = explode('-', $date);
 $time = explode(':', $time);
 $current = date('Y-m-d H:i:s');
 $currentdatetime = explode(' ', $current);
 $currentdate = explode('-', $current_date);

 if($date[2] == $currentdate[2]) return date('H:i', strtotime($input_date));
 else if($date[2] != $currentdate[2] && $date[0] == $currentdate[0]) return date('F d H:i', strtotime($input_date));
 else if($date[2] = $currentdate[2] && $date[0] != $currentdate[0]) return date('F d Y H:i', strtotime($input_date));
 else return $input_date;
}

这会改变日期,如
2010-11-06 18:25:55
,看起来更像
18:25
(如果2010-11-06是今天),
11-11-18:25
(如果不是今天,但仍然在2010年)或
11-11-2010 18:25
,如果2010年已经过去了。但从理论上讲,我不明白为什么函数只输出不同日期的小时和分钟。是什么导致了这个问题?

我认为函数输出的格式是相同的,因为它更精确,但也没有编写代码使其更易于阅读

但这是一把双刃剑。Mac喜欢使用“在几分钟内完成”。Windows喜欢使用“在2分20秒内完成”

有些人可能会觉得“几分钟内完成”或“几秒钟内完成”这句话很好,但与此同时,如果我需要赶公共汽车,我不知道是2分钟还是7分钟,那么这可能是个问题。同时,我可能不需要知道“2分20秒”和“2分15秒”


和你的问题很相似。。。有时需要展示细节,有时不需要。例如,要显示您购买的音乐会门票的时间,可能需要月份甚至年份。

PHP已经支持使用date()函数所需的几乎任何格式。如果需要,可以将其与strotime()结合使用,以获得所需的内容。它相当强大。 例如:

if ( date('Y',strtotime($input_date)) < date('Y',time()) ) {
    echo date('d F Y H:i');
} else {
    echo date('d F H:i');
}
// Oter examples
echo date('Y-m-d', strtotime('last tuesday'));
echo date('Y-m-d', strtotime('3 days ago'));
echo date('Y-m-d', strtotime('+4 weeks'));
echo date('Y-m-d H:iA', strtotime('+2 hours 23 minutes'));
echo date('Y-m-d H:iA', strtotime('+2 hours -23 minutes'));
if(日期('Y',strottime($input_date))
mm我不知道你说的是什么意思,因为不同的日子只有几小时几分钟。。。但你可以查看这个链接,看看它是否对你有用:好的想法,但它们是离题的。我只需要知道函数有什么问题,因为它返回的值不是它应该返回的值。