【问题标题】:I need to change the date format using php我需要使用 php 更改日期格式
【发布时间】:2009-01-31 15:35:45
【问题描述】:

您好,我查看了一个已经发布的关于此的问题,并尝试调整我的代码来做类似的事情。基本上,我的 mysql 数据库中有一个字段,其日期格式为 yyyy-dd-mm,我需要格式为 dd-mm-yyyy。目前我的代码卡在echo "<td><strong> ("d/m/y",". $row['date'] .")</strong></td>"; 行并读取此解析错误:语法错误,意外的 T_STRING,期待“,”或“;”。不知道如何解决这个问题,我会很感激。

$result = mysql_query("SELECT * FROM dbGigs WHERE CURDATE() < date ORDER BY date");

echo "<table class=\"gigs\">
<tr>
<th>Venue</th>
<th>Town</th>
<th>Date</th>
<th>Time</th>
<th>Status</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td><strong>" . $row['venue'] . "</strong></td>";
  echo "<td><strong>" . $row['town'] . "</strong></td>";
  echo "<td><strong> ("d/m/y",". $row['date'] .")</strong></td>";
  echo "<td><strong>" . $row['time'] . "</strong></td>";
  echo "<td><strong>" . $row['status'] . "</strong></td>";
  echo "</tr>";

【问题讨论】:

    标签: php mysql date-format


    【解决方案1】:

    第一件事

      echo "<td><strong> ("d/m/y",". $row['date'] .")</strong></td>";
    

    这条线看起来不对;我怀疑它应该是这样的

      echo "<td><strong>" . date( "d/m/y", $row['date'] ) . "</strong></td>";
    

    请注意缺少的函数调用和连接运算符。顺便说一句,虽然这在语法上是正确的(据我所知),但它可能无法满足您的需求,具体取决于 $row['date'] 实际包含的内容 - 它需要是 date() 的 Unix 时间戳才能理解它正确。

    要获取Unix时间戳的日期,可以在选择日期时使用MySQL函数UNIX_TIMESTAMP(),例如

    SELECT *, UNIX_TIMESTAMP(date) AS date_ts FROM ...
    

    然后您可以正常访问$row['date_ts'],并将其传递给date() 函数进行格式化。或者,您可以使用 strtotime() 之类的东西来解析返回的当前值,以便从中获取时间戳。

    另一种选择是让 MySQL 使用其DATE_FORMAT() 函数代表您格式化日期;同样,您可以访问从查询返回的这个值并将其打印出来。

    【讨论】:

    • 是的,你是对的,我没有做我想做的事哈哈。存储在该字段 date 中的日期是 mysql 日期字段,并以 yyyy-dd-mm 格式询问日期,我认为用户在网页上查看时不容易理解。你知道怎么做吗?谢谢。
    • 用一些想法更新了答案。
    【解决方案2】:

    像这样使用它:

    echo "<td><strong>".date("d/m/y", strtotime($row['date']))."</strong></td>";
    

    【讨论】:

      【解决方案3】:

      您必须拨打date function

      echo "<td><strong>".date("d/m/y", $row['date'])."</strong></td>";
      

      【讨论】:

        【解决方案4】:
        $res = mysql_query('SELECT dte FROM vtable');
        $row = mysql_fetch_array($res);
        print date('d M Y', strtotime($row['dte']));
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-03-02
          • 2015-01-06
          • 1970-01-01
          • 2017-06-28
          • 1970-01-01
          • 2012-08-07
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多