2

我的数据库中存储了一个日期,格式为“0000-00-00”,即 YYYY-MM-DD

我想接受它并将其转换为表示日期、月份和年份的字符串。如将 1993-03-18 转换为 1993 年 3 月 18 日。

这是我迄今为止在我的测试服务器上所拥有的(所以请不要对注入的有趣评论)

$dob_form = mysql_query("select dob from users where id='$_SESSION[user_id]'"); 
$dob_day = substr($dob_form, -2);
$dob_mth = substr($dob_form, -5, 2);
$dob_mtc = date( 'F', mktime(0, 0, 0, $dob_mt) );
$dob_yr = substr($dob_form, -10, 4);
$dob_display = $dob_day + " " + $dob_mtc + " " + $dob_yr;

谁能看到我做错了什么和/或指出我正确的方向?

4

2 回答 2

4

用这个

select date_format(dob,'%d %M %Y') from users where id='$_SESSION[user_id]'
于 2012-05-06T03:05:09.100 回答
1

strtotime()结合date()是一个典型的 PHP 组合。

$dob_form = mysql_query("select dob from users where id='$_SESSION[user_id]'");
// get query result...
echo date('d F Y', strtotime($result['dob']));

注意:请注意 MySQL 和 PHP 服务器之间的任何时区差异。

于 2012-05-06T03:06:06.603 回答