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

时间:2011-09-27 07:16:53

标签: php mysql date

两个日期字段

<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

中使用

2 个答案:

答案 0 :(得分:3)

试试这个:

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

答案 1 :(得分: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