PHP-显示设置为零的小时、分钟和秒的日期


PHP - Show the date with hours, minutes and seconds set to zero

我需要一个将小时、分钟和秒设置为"00:00:00"的DateTime对象

为什么以下内容仍然输出"20:53:19"而不是"00:00:00"?

const DATETIME_TO_MYSQL_DATETIME = 'Y-m-d H:i:s';
const DATE_FORMAT = 'j.n.Y';
    $this->today = DateTime::createFromFormat(self::DATE_FORMAT, (new DateTime())->format(self::DATE_FORMAT));
   die($this->today->format(self::DATETIME_TO_MYSQL_DATETIME));

输出:2013-12-02 20:53:19

使用:

const DATETIME_TO_MYSQL_DATETIME = 'Y-m-d 00:00:00';

如果希望小时/分钟/秒为00:00:00,则与时间无关。

const DATETIME_TO_MYSQL_DATETIME = 'Y-m-d 00:00:00'

没有分钟、小时或秒。

只需使用:

$this->today = new DateTime('today');

它输出小时、分钟和秒的原因是因为您指定了日期的格式。从"Y-m-d H:i:s"中删除"H:i:s"应删除时间戳。将"H:i:s"替换为"00:00:00"将设置时间戳。

您可以查看PHP date()函数以了解更多格式。

示例:

var_dump(date('Y-m-d'));
// string(10) "2013-12-02"
$current_date = date('Y-m-d');
echo $current_date;
// 2013-12-02