PHP MYSQL - >显示日期保存为'日期'从MYSQL数据库中输入

时间:2014-08-15 02:46:45

标签: php mysql date

我还习惯使用PHP和MYSQL,所以请耐心等待。

我有一个名为' employee_datetable'的数据库表。这个字段名为" datetime"包含明年(2014年8月13日至2015年8月13日)的365条实际日期记录。

我想编写一个MYSQL查询,该查询检索7个日期并以可读格式显示它们,例如" 2014年9月24日和#34;。

现在,日期存储为日期类型,并显示为" 2014-09-24"等

非常感谢任何帮助。

PHP代码

$dates_sql = "SELECT UNIX_TIMESTAMP(datetime) FROM employee_datetable LIMIT 7"; 
$PhpDate = strtotime($dates_sql);
$FormattedPhpDate = date('M d, Y', $PhpDate );

echo "Selected Dates from the query: " . $FormattedPhpDate;

2 个答案:

答案 0 :(得分:3)

SELECT DATE_FORMAT(NOW(), '%M %w, %Y');
-> 'August 5, 2014'

SELECT DATE_FORMAT(NOW(), '%b %w, %Y');
-> 'Aug 5, 2014'

当然,您可以使用datetime列,而不是使用NOW()

答案 1 :(得分:3)

您需要使用mysqlipdo之类的内容来执行查询并提取数据。这是一般的想法,使用mysqli

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$dates_sql = "SELECT UNIX_TIMESTAMP(datetime) AS tstamp FROM employee_datetable LIMIT 7";
$result = $mysqli->query($dates_sql);

while($row = $result->fetch_array()) {
    $FormattedPhpDate = date('M d, Y', $row['tstamp']);
    echo "Date: " . $FormattedPhpDate . "<br/>";
}

注意:由于您在查询中使用UNIX_TIMESTAMP,因此无需使用strtotime()

将日期转换为时间戳

有关详细信息,请参阅mysqli的文档,特别是mysqli_querymysqli_fetch_array