2014-02-11 234 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.我认为这是因为他们有相同的字符串数据类型。 –