2013-02-26 102 views
0

我創建一個排名前30音圖..周格式化的日期時間

Hw的我能得到周的兩個MySQL格式的日期時間之間有多少?像

來源:2013-01-15 11:41:14

當前日期時間:2013-02-25 13:41:14

回答

0

使用減去次strtotime

$difference = strtotime($first_date)-strtotime($second_date); 

$weeks = round($difference/604800); 
+0

我如何去除旁邊的負號?像'-4' – Ken 2013-02-26 14:02:43

+0

@Ken你可能正在減去小偉大所以減去大 - 小 – 2013-02-26 14:07:03

+0

謝謝你@Mr外國人 – Ken 2013-02-26 14:13:08

0

您可以使用strtotime()方法,再算上當前的時間,你在你的MySQL數據庫有時間之間的差異。

0
<?php 
$db_time_a = strtotime('2013-01-15 11:41:14'); 
$db_time_b = strtotime('2013-02-25 13:41:14'); 

$seconds_in_between = $db_time_a - $db_time_b; 

$hours = (int)($seconds_in_between/60/60); 
$minutes = (int)($seconds_in_between/60)-$hours*60; 
$seconds = (int)$seconds_in_between-$hours*60*60-$minutes*60; 

echo 'The time in seconds in between the two times is: '.$seconds_in_between.' (Hours:'.$hours.', Minutes:'.$minutes.', Seconds:'.$seconds.')'; 
?> 

你可以大塊下來「剩女」秒和找出分鐘(和它的剩餘秒),以此類推,直到你打時間你想要的距離。

0

WEEK()函數可以幫助您查詢嗎?

我不知道Mysql的非常好,但讓我們假設如下:

select WEEK(date1-date2) from mytable where name='Ken'; 
1

使用SQL是更好的,但是在PHP它會是這樣的:

<?php 
$datetime1 = new DateTime('2013-01-15 11:41:14'); 
$datetime2 = new DateTime('2013-02-25 13:41:14'); 
$interval = $datetime1->diff($datetime2); 
$diff  = $interval->format('%d'); 
echo (int)$diff/7; 
+0

這些更現代的類可能是去的方式:) – 2013-02-26 14:04:13

0

嘗試DATEDIFF (date1,date2)函數在mysql中。 DATEDIFF()會返回兩個給定日期之間的日期號。希望你可以很容易地從輸出中獲得數週。