我怎样才能获得今天的PHP时间戳

Jie*_*eng 13 php datetime timestamp

我试过了

$dtToday = DateTime::createFromFormat('Y-m-d', date('Y-m-d'));
Run Code Online (Sandbox Code Playgroud)

但是当我输出它

die($dtToday->format('d M Y g:i:s a'));
Run Code Online (Sandbox Code Playgroud)

我仍然得到时间,例如"2011年1月22日下午4:53:59".这是为什么?

UPDATE

啊......很多人误解了我,我的坏,我忘了指出要点.我只用日期部分创建了日期,我不想要时间.所以我期待类似的东西

22 Jan 2011 12:00:00 am
Run Code Online (Sandbox Code Playgroud)

Sal*_*n A 15

您可以调用->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
Run Code Online (Sandbox Code Playgroud)


lon*_*day 14

请参阅以下文档DateTime::createFromFormat:

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

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

$dtToday = DateTime::createFromFormat('!Y-m-d', date('Y-m-d'));
Run Code Online (Sandbox Code Playgroud)


nai*_*vin 7

您可以通过将当前的unix时间戳作为第二个参数传递给date函数来完成此操作

echo date("Y-m-d H:i:s",time());
Run Code Online (Sandbox Code Playgroud)

  • date()的第二个参数默认为time(),因此date('Ym-d')就足够了. (4认同)

Mir*_*vod 7

今天的开始时间戳

$today_start_ts = strtotime(date('Y-m-d', time()). '00:00:00');
Run Code Online (Sandbox Code Playgroud)

  • 它应该是'00:00:00' 不要忘记空格。 (2认同)