0

我无法在 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);

但它不起作用!我该如何解决这个问题?

感谢你 :)

4

2 回答 2

2

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

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

对于daycounting,您应该查看此链接

$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);
于 2012-10-13T03:55:48.307 回答
1

如果您想从数据库中获取月份,则使用 Month 函数获取月份。同样用于获取直到另一个日期的天数。

DB在简单计算上和前端一样有能力,大部分时间没有理由不在DB端做。

于 2012-10-13T03:56:56.607 回答