如何在 PHP 中获取今天的时间戳

2022-08-31 00:01:57

我试过了

$dtToday = DateTime::createFromFormat('Y-m-d', date('Y-m-d'));

但是当我输出它时

die($dtToday->format('d M Y g:i:s a'));

我仍然得到时间,例如“22 Jan 2011 4:53:59 pm”。为什么?

更新

啊。。。很多人误会我,我的坏,我忘了指出要点。我只用日期部分创建了日期,我不想要时间。所以我期待这样的事情

22 Jan 2011 12:00:00 am

答案 1

您可以调用 ->setTime(0, 0) 将时间部分清零:

$date = DateTime::createFromFormat('Y-m-d', '2011-01-22')->setTime(0, 0);
echo $date->format('d M Y g:i:s a');
// 22 Jan 2011 12:00:00 am

答案 2

请参阅 DateTime::createFromFormat 的文档

如果格式不包含字符 !然后生成时间中未以格式指定的部分将设置为当前系统时间。

如果执行以下函数调用,将获得预期的结果:

$dtToday = DateTime::createFromFormat('!Y-m-d', date('Y-m-d'));

推荐