如何在mysql中显示两个日期之间的小时


How to display hours between two dates in 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

试试这个:

<?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;
}

hello在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