如何使用mktime获取今天的时间


how to get todays time using mktime

我试图在00:01:00(h:I:s)获得今天的时间

我的代码:

<?php 
$delay_hour=10;
$delay_minute=11;
echo $t2=mktime($delay_hour, $delay_minute, 00, date('n',time()), date('j',time()), date('Y',time()));
echo '<br/>';
echo date("d-m-Y h:i:s",$t2);
echo '<br/>';
$delay_hour=0;
$delay_minute=1;
echo $t2=mktime($delay_hour, $delay_minute, 00, date('n',time()), date('j',time()), date('Y',time()));
echo '<br/>';
echo date("d-m-Y h:i:s",$t2);
echo '<br/>';
?>

那么如何在00:01:00得到今天的时间呢?

您的代码可以简化为:

$result = mktime(0,1,0);//hour, minute, second

因为没有传递日期部分的mktime()会将日期设置为今天的日期。

另外请注意,mktime()导致时间戳,即它不是格式化日期,而是整数值(等于Unix Epoch开始后经过的秒数)

var_dump(strtotime(date('Y-m-d').' 00:01:00'));

$date = new DateTime('today 00:01:00');
var_dump($date->format('Y-m-d H:i:s')); // formatted
var_dump($date->format('U')); // timestamp

var_dump(mktime(0, 1));

如果您需要格式化的表示,最好使用第二种方法,即DateTime。如果您需要时间戳,请使用第三个,带有mktime