我正在尝试将我的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日星期六。
感谢您的帮助。
答案 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;