1

嗨,我已经查看了一个已经发布的关于此的问题,并试图调整我的代码来做类似的事情。基本上,我的 mysql 数据库中有一个字段,其日期格式为 yyyy-dd-mm,我需要格式为 dd-mm-yyyy。目前,我的代码卡在了行上echo "<td><strong> ("d/m/y",". $row['date'] .")</strong></td>";并读取此 Parse 错误:语法错误,意外 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>";
4

4 回答 4

7

第一件事

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

这条线看起来不对;我怀疑它应该读到类似

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

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

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

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

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

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

于 2009-01-31T15:39:34.523 回答
1

像这样使用它:

echo "<td><strong>".date("d/m/y", strtotime($row['date']))."</strong></td>";
于 2010-04-20T05:33:58.683 回答
0
$res = mysql_query('SELECT dte FROM vtable');
$row = mysql_fetch_array($res);
print date('d M Y', strtotime($row['dte']));
于 2009-05-26T04:55:39.673 回答
0

您必须调用该date函数

echo "<td><strong>".date("d/m/y", $row['date'])."</strong></td>";
于 2009-01-31T15:41:19.370 回答