2014-02-11 445 views
0

所以我這種方法,比較時間戳

$time2 = get_the_time(__('F Y h:i:s A ', 'woocommerce'), $order->ID); 

返回一個字符串像這樣

「2014年1月上午5時51分00秒的21日」我有這個其他方法返回時間戳「1392099616」

$time = current_time('timestamp'); 

我想在幾秒鐘內獲得它們的差異。

我正在尋找strtotime,任何人都可以詳細說明嗎?

編輯:兩種方法都返回字符串數據類型。

謝謝!

回答

0

您可以使用get_the_time一樣,

$time2 = get_the_time(__('d-m-Y H:i:s', 'woocommerce'), $order->ID); 

然後,

$time = current_time('timestamp'); 
$time1 = date('d-m-Y H:i:s', $time); 

$date1 = new DateTime($time1); 
$date2 = new DateTime($time2); 
$interval = $date1->diff($date2); 

print_r($interval); 

你會得到不同的NCE。

+0

所以我有這個工作,我將如何使用[s]部分?可以說我會把它變成一個變量$秒? –

+0

你想得到小時,分鐘,秒鐘等? $ interval是對象類型,因此您可以通過以下方式訪問它: $ days = $ interval-> d; \t $ months = $ interval-> m; \t $ years = $ interval-> y; \t \t $ hours = $ interval-> h; \t $ mins = $ interval-> i; \t $ seconds = $ interval-> s; –

1
$time2 = get_the_time(__('h:i:s', 'woocommerce'), $order->ID); 

變化時間2到這一點,你將得到的時間價值,你可以比較這些

$time1 = strtotime('09:00:59'); 
$time2 = strtotime('09:01:00'); 
$gap = $time2 - $time1; 
echo 'Time 1: '.date('H:i:s', $time1).'<br>'; 
echo 'Time 2: '.date('H:i:s', $time2).'<br>'; 

if($gap){ 
    echo date('H:i:s', $diff); 
}else{ 
    echo '------'; 
} 
+0

它給了我一些像「05:51:00」的東西。沒有嘗試過,但是, –

+0

如果你得到的時間都是相同的格式,只需要減去它們,你就可以得到總計時間(秒) –

+0

我所做的就是改變$ time = current_time('mysql');和$ time2 = get_the_time(__('Y m d H:i:s','woocommerce'),$ order-> ID); 他們顯示相同的格式,但問題是當我減去他們的結果是0.我認爲這是因爲他們有相同的字符串數據類型。 –