无法从db -php获取特定日期

时间:2010-09-11 13:35:48

标签: php date

我正在尝试将我的mysql数据库中的日期加上时间戳,但我的代码显示的是当前日期。

这是我正在尝试的代码:

$db_date = $row_news['nm_date'];
$year = substr($db_date, 0, 4);
$mon = substr($db_date, 4, 2);
$day = substr($db_date, 6, 2);
$orgdate = date("l dS F Y",mktime($mon, $day, $year));
$date = $orgdate

该脚本的目的是通过电子邮件发送$ date,这应该是$ row_news ['nm_date']的值,但我得到当前日期“2010年9月11日星期六。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

你今天的日期是因为mktime()没有返回有效值。如果您查看mktime() - http://www.php.net/mktime的手动输入 - 您将看到参数顺序为:

mktime ($hour, $minute, $second, $month, $day, $year)

所以你可能想要:

$orgdate = date("l dS F Y", mktime(12, 0, 0, $mon, $day, $year));

您的代码假定日期为YYYYMMDD格式(或YYYYMMDDHHII)。假设这是正确的,并且它实际上不是日期格式(YYYY-MM-DD),那么以上内容应该可以解决您的问题。

编辑:如果日期为YYYY-MM-DD格式,您需要调整子字符串以允许短划线:

$year = substr($db_date, 0, 4);
$mon = substr($db_date, 5, 2);
$day = substr($db_date, 8, 2);

答案 1 :(得分:0)

$db_date = $row_news['nm_date'];
$orgdate = date("l dS F Y", $db_date);
$date = $orgdate;