最好的方法如何创建简单的日历?
我有例如db:
id | date(unique)| text
1 | 2011-02-02 | aaa
2 | 2011-03-03 | bbb
3 | 2011-03-04 | ccc
..
10 | 2011-03-11 | dfg
例如现在是2011-03-04。我想从数据库-2和+4天获得: 02,03, 04 ,05,06,07,08。
在php中我做:
$ now = strtotime(“now”); 并剪切这个substr(0,10)。
但我如何检查-2和+4天。在这个例子中,这很简单,但如果它是2011-11-30和+ 4days这是新的月份。我想自动做这个。有可能吗?
答案 0 :(得分:2)
select *
from table
where `date`
between curdate() - interval 2 day and curdate() + interval 4 day
PHP版
$past = date('Y-m-d', strtotime('-2 days'));
$future = date('Y-m-d', strtotime('+4 days'));
答案 1 :(得分:1)
使用PHP(> = 5.3)新DateTime class:
例如,将4天添加到您要执行的日期:
$date = new DateTime('2011-11-30');
$date->add(new DateInterval('P4D'));
echo $date->format('Y-m-d');
要减去四天,你可以使用:
$date->sub(new DateInterval('P4D'));
比strtotime,mktime等更好。
利用新功能: - )
答案 2 :(得分:0)
使用mktime
。所以当前日期是,2011-03-04
:
$date = explode('-', '2011-03-04');
$d = $date[2] - 2;
do
{
echo date('Y-m-d', mktime(0, 0, 0, $date[1], $d, $date[0]) . '<br />';
$d++;
} while($d < ($date[2] + 4));
应该有帮助!!剩下的由你决定;)