2011-09-27 100 views
2

兩個的DateField如何在mysql中顯示兩個日期之間的時間

<input type="text" name="from date" > 

<input type="text" name="to date" > 

例子:如果沒有fromdate是2011-09-12和todate是2011-09-15

輸出中應顯示:

顯示每隔一小時

2011-09-12 00:00:00 
2011-09-12 01:00:00 
2011-09-12 02:00:00 
2011-09-12 03:00:00 
2011-09-12 04:00:00 
. 
. 
. 
. 
. 
2011-09-15 23:00:00 

它可能在mysql代碼或php

+0

此[鏈接](HTTP下列代碼做到這一點。 php.net/manual/en/function.date-diff.php)可能對您有所幫助 – punit

+0

這是一個'php'的問題,並且該問題必須**不能**在數據庫級別解決*。所以,回答沒有關於'mysql'的一切。 – FallenAngel

回答

3

試試這個:// WWW:

<?php 
$from_date_time = strtotime($_POST['from_date']); 
$to_date_time = strtotime($_POST['to_date']); 

while ($from_date_time < $to_date_time) { 
    echo date('Y-m-d H:i:s', $from_date_time); 
    $from_date_time += 3600; 
} 
+0

是的,很好的解決方案。 – Atticus

+0

@Debiprasad:非常感謝。如果我們刪除strtotime意味着它不工作,它正在工作fine.one問題.strtotime的主要用途是什麼 –

+0

@ user966460它將任何英文文本日期時間描述解析爲Unix時間戳。請檢查這個PHP手冊[strtotime](http://php.net/manual/en/function.strtotime.php) – Debiprasad

0

打招呼MS SQL Server 2005中您可以通過使用CTE ..

declare @dateh table(ind int identity(1,1),date1 smalldatetime,date2 smalldatetime) 

insert into @dateh select '1/1/2011','1/2/2011' 

select * from @dateh 

;with T as 
(
    select date1,date2 from @dateh as d 
    union all 
    select dateadd(hh,1,date1),date2 From T 
    where dateadd(hh,1,date1)<= date2 
) 
Select date1 from T 
相關問題