如何在php中使date()返回00:00

如何在php中使date()返回00:00,php,mysql,Php,Mysql,从数据库中提取数据后,我将使用date()函数,并将其输入date()函数 它对其他每一个输入都有效,但在0000-00-00:00:00时失败。在本例中,它返回01:01(但我想要00:00) 这是我的密码: <?php $timestamp = "0000-00-00 00:00:00"; echo date('d:m', strtotime(str_replace('-','/', $timestamp))); 您的输入日期无效,因此date函数将不会返回所需的结果。 但这将起作用

从数据库中提取数据后,我将使用date()函数,并将其输入date()函数

它对其他每一个输入都有效,但在0000-00-00:00:00时失败。在本例中,它返回01:01(但我想要00:00)

这是我的密码:

<?php
$timestamp = "0000-00-00 00:00:00";
echo date('d:m', strtotime(str_replace('-','/', $timestamp)));

您的输入日期无效,因此
date
函数将不会返回所需的结果。 但这将起作用:

<?php
$timestamp = "0000-00-00 00:00:00";
$arr = explode(" ", $timestamp);
$arr = explode("-", $arr[0]);
echo $arr[1].':'.$arr[2];
或者这个(即使在有效日期也可以):


您想将00:00返回为日:月?您需要月还是时间?您应该从手册开始。@krasipenkov,是的,您刚才说的“00:00”是无效日加无效月。没有日期函数将返回该值。上面的时间戳是
null
作为日期时间字符串的表示。我很好奇为什么你会得到“01:01”,我试过你的代码,得到了“30:11”我用的是内部标题标签,如果你有直接解决方案,那就更好了。我期待这个问题的直接解决方案。你说的直接解决方案是什么意思?内部标题标签,任何高达任何三元条件,仅此而已。谢谢你的回答,你的答案非常适合我的场景。抱歉迟到了
<?php
$timestamp = "0000-00-00 00:00:00";
$arr = explode(" ", $timestamp);
$arr = explode("-", $arr[0]);
echo $arr[1].':'.$arr[2];
echo preg_replace('/(0000)-(00)-(00) (.+)/', '$2:$3', $timestamp);
echo preg_replace('/([0-9]{4})-([0-9]{2})-([0-9]{2}) (.+)/', '$2:$3', $timestamp);