我需要使用php更改日期格式

时间:2009-01-31 15:35:46

标签: php mysql date-format

您好我已经查看过已发布的有关此问题的问题,并尝试调整我的代码来做一个类似的事情。基本上我在我的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 个答案:

答案 0 :(得分:7)

首先要做的事情

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

这条线看起来不对;我怀疑它应该读取像

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

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

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

date()

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

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

答案 1 :(得分:1)

使用它像:

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

答案 2 :(得分:0)

您必须致电date function

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

答案 3 :(得分:0)

$res = mysql_query('SELECT dte FROM vtable');
$row = mysql_fetch_array($res);
print date('d M Y', strtotime($row['dte']));