在php中设置时间为00:00:00

Wil*_*est 7 php time

我需要显示时间,但必须从00:00:00开始?我有以下但它使用当前时间.

print(date("H:i:s"));
Run Code Online (Sandbox Code Playgroud)

Phi*_*hil 24

作为替代mktime(),尝试新的DateTime类,例如

$dt = new DateTime;
$dt->setTime(0, 0);
echo $dt->format('H:i:s');

// Add one hour
$dt->add(new DateInterval('PT1H'));
echo $dt->format('H:i:s');
Run Code Online (Sandbox Code Playgroud)

更新

灵活性DateInterval使其成为计时器的非常好的候选者,例如

// add 2 years, 1 day and 9 seconds
$dt->add(new DateInterval('P2Y1DT9S'));
Run Code Online (Sandbox Code Playgroud)

  • @Shiro P =期间,2Y = 2年,1D = 1天,T =时间,9S = 9秒 (2认同)

Jar*_*ish 6

mktime()如果您想从当前日期的午夜开始,请使用:

<?php

echo date('l jS \of F Y h:i:s A',mktime(0,0,0));

?>
Run Code Online (Sandbox Code Playgroud)

产出

Friday 14th of October 2011 12:00:00 AM
Run Code Online (Sandbox Code Playgroud)

http://codepad.org/s2NrVfRq

mktime()中,传递的参数hours, minutes, seconds, month, day, year,所以设置hours, minutes, seconds0获得today at midnight.(注意,正如菲尔指出的那样,mktime()'s参数是可选的,你可以month, day, year省略,它将默认为当前日期).

mktime()函数返回一个unix时间戳,表示自unix时期(1970年1月1日)以来的秒数.您可以在几秒或几秒钟内从中计算.

<?php

// $midnight = mktime(0,0,0,date('m'),date('d'),date('Y'));
// The above is equivalent to below
$midnight = mktime(0,0,0);

echo date('l jS \of F Y h:i:s A',$midnight)."\n";
echo date('l jS \of F Y h:i:s A',$midnight+60)."\n"; // One minute
echo date('l jS \of F Y h:i:s A',$midnight+(60*60))."\n"; // One hour

?>
Run Code Online (Sandbox Code Playgroud)

产出

Friday 14th of October 2011 12:00:00 AM
Friday 14th of October 2011 12:01:00 AM
Friday 14th of October 2011 01:00:00 AM
Run Code Online (Sandbox Code Playgroud)

http://codepad.org/FTr98z1n