【问题标题】:PHP MYSQL -> Display dates saved as 'date' type from MYSQL DatabasePHP MYSQL -> 显示从 MYSQL 数据库中保存为“日期”类型的日期
【发布时间】:2014-08-15 02:46:44
【问题描述】:

我还在习惯使用 PHP 和 MYSQL,所以请多多包涵。

我有一个名为“employee_datetable”的数据库表,其中包含一个名为“datetime”的字段,其中包含下一年(2014 年 8 月 13 日至 2015 年 8 月 13 日)的 365 条实际日期记录。

我想编写一个 MYSQL 查询,它检索 7 个日期并以可读格式(例如“2014 年 9 月 24 日”)连续显示它们。

现在日期存储为日期类型并显示为“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;

【问题讨论】:

    标签: php mysql date


    【解决方案1】:

    您需要使用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

    【讨论】:

      【解决方案2】:
      SELECT DATE_FORMAT(NOW(), '%M %w, %Y');
      -> 'August 5, 2014'
      

      或者

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

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

      【讨论】:

        猜你喜欢
        • 2016-08-04
        • 1970-01-01
        • 1970-01-01
        • 2013-06-24
        • 2012-12-22
        • 2013-06-25
        • 1970-01-01
        • 1970-01-01
        • 2014-11-19
        相关资源
        最近更新 更多