从MySQL显示日或月

时间:2012-10-13 03:44:52

标签: php mysql date

我有问题只显示mysql中dob的日期或月份。我做了这些步骤,

首先在数据库中添加了一个表:

ALTER TABLE `dle_users` ADD `dob` DATE NOT NULL;

第二次在php文件中添加了这段代码:

$dob = $db->super_query( "SELECT dob FROM dle_users");
$tpl->set("{dob}", $dob);

在个人资料页面中我得到了正确的结果:1372-07-08 (其波斯日期)

问题是,我只需要显示日期或月份,而不是完整日期

我试过这种方式:

$dob = date("m", $row['dob']);    
$tpl->set("{dob}", $dob);

但它不起作用!我怎么能解决这个问题?

谢谢你:)

2 个答案:

答案 0 :(得分:2)

我不知道你使用的是哪个框架或cms但你在核心php中应该像这样尝试

$dob = date("m", strtotime($row['dob']));    
$tpl->set("{dob}", $dob);

对于日算,您应该查看此link

$date1 = "2007-03-24";
$date2 = "2009-06-26";

$diff = abs(strtotime($date2) - strtotime($date1));

$years = floor($diff / (365*60*60*24));
$months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));

printf("%d days\n", $days);

答案 1 :(得分:1)

如果你想从数据库中得到的是月份,那么使用月份函数来获取月份。同样地,获取直到另一个日期的天数。

DB在简单计算时与前端一样强大,没有理由不在大多数时间在DB端进行。