2014-04-09 26 views
0

我試圖在00:01:00讓今天的時間去今天的時間(h:I:S)如何使用mktime

我的代碼:

<?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?

+0

MKTime返回格林威治時間。你可能會發現你的php.ini文件中有一個offset/timezeone。 – Fluffeh

+0

您不需要日期部分傳遞到'mktime()'因爲默認情況下它今天 –

+0

@AlmaDo想找到的今天00:01:00這樣就不會到來時() –

回答

2

你的代碼可以只是簡單:

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

因爲mktime()沒有日期部分傳遞給它的將設置日期爲今天的日期。

還要注意,mktime()導致時間戳 - 即它不是格式化的日期,它是整數值(等於開始以來,Unix紀元經過的秒數)

+0

它仍然表明1396985400,//星期二,2014年4月8日19:30:00格林尼治標準時間 –

+0

它__不能顯示'「星期二...」'。它會顯示_timestamp_ - 所以請,張貼代碼格式化你的輸出 –

+0

更新問題 –

1
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

+0

你的代碼工作對我來說,它給人2014-04 -09 00:01:00 1396981860,但現在在這裏如何傳遞我的日期$ t2,因爲它可能是不同日期 –