我有问题只显示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);
但它不起作用!我怎么能解决这个问题?
谢谢你:)答案 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端进行。