English 中文(简体)
我需要使用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>";
问题回答

首先要做的是

  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时间戳,您可以在选择日期时使用MySQL函数UNIX_TIMESTAMP(),例如。

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

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

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

使用方法为:

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

你必须调用 date 函数:

echo "<td><strong>".date("d/m/y", $row[ date ])."</strong></td>";
$res = mysql_query( SELECT dte FROM vtable );
$row = mysql_fetch_array($res);
print date( d M Y , strtotime($row[ dte ]));




相关问题
热门标签