2012-10-21 117 views
0

好吧,我有一些代码(我认为这可能是凌乱和冗余的地方 - 注意,这是关于总统选举,看哪个候选人做得比较好,因此罗姆尼的):如何获得两个日期之间日差的整数?

$romneytime = intval($twitromney["timestamp"]); 
$romneydate = date('m/d/Y', $romneytime); 
$romlinearray = array(); 
$romlinearray["date"] = null; 
$romlinearray["value"] = null; 
$romneydiffobj = date_diff(date_create_from_format('m/d/Y', $dateromney), date_create_from_format('m/d/Y', $romneydate)); 
$romneydiff = $romneydiffobj->format('%d') 

var_dump($romneydiff); 

由于某种原因,var_dump($romneydiff);没有提供任何数据。

的代码应服用的时间戳的整数,将其放入日期格式,然后将其与另一个日期进行比较,然后输出两个日期的差。

+0

你错过了在倒数第二行的末尾分号得到的差异。错字或问题的根源? –

+0

你在哪里值分配给$ dateromney,为什么您搜索的字符串,而不是整数时间戳之间的区别?我认为这会更容易。 –

回答

1

使用datetime对象和DIFF()方法返回一个DateInterval,然后用格式从DateInterval

$datetime1 = new DateTime('2009-10-11'); 
$datetime2 = new DateTime('2009-10-13'); 
$interval = $datetime1->diff($datetime2); 
echo $interval->format('%R%a days'); 
+0

这不就是我在做什么? –

+0

而且绝对必须从时间戳转换。这就是它在数据库中的样子。另外一个我可以开始了作为一个DateTime。 –

+0

@Andrew - 你传递两个日期参数date_diff,使用程序的风格......我使用OO风格,这意味着我创建从一个DateTime对象的差异方法的时间间隔,则只有通过其他datetime对象作为参数。用同样的方法,但不能以同样的方式 –

相关问题