1

MySQL テーブルに次の 2 つの名前があります。

messageタイプですtext

dateタイプですdatetime

<?php
while($row=mysql_fetch_array($result)){
?>
<tr>
     <td><div><a><? echo $row['message'] ?></a></div></td>
     <td><div><a><? echo $row['date']; ?></a></div></td>
</tr>
<?php
 }
?>

上記の表の出力は、この形式で日付を示しています 2012-08-05 17:43:57

この形式 2012-08-05 (時間なし) で日付を印刷するにはどうすればよいですか?

MySQl で datetime 型を変更できません (さまざまな形式のさまざまなページで必要です)。

次のことを試しましたが、役に立ちません(まったく印刷されません)

<td><div><a><? echo $rows['date'](“Y-m-d”); ?></a></div></td>

ps 日付形式の他の組み合わせでは、構文エラーが発生します。

どんな提案でも大歓迎です、

4

7 に答える 7

3

あなたがしたい

<?php echo date('Y-m-d', strtotime($row['date'])); ?>

strtotimeは日付文字列を unix-timestamp に変換します

次に、日付関数は文字列に従って適切にフォーマットします。

于 2012-08-06T19:34:58.217 に答える
0

MS-SQL と Oracle には TO_CHAR メソッドと呼ばれるものがあり、日付を希望する形式を渡すことができるため、データをフェッチしながら変更することができます

于 2012-08-06T19:37:41.650 に答える
0

http://php.net/manual/en/datetime.format.php

 <td><div><a><? echo new DateTime($row['date'])->format('Y-m-d'); ; ?></a></div></td>
于 2012-08-06T19:38:11.433 に答える
0

最初に日付に変換する必要があります。

$tmpdate = strtotime($row['date']);
$date = date('Y-M-d', $tmpdate);
echo $date;

もちろん、他の人が示唆しているように、それを短くすることもできますが、読みやすさを改善し、将来古いコードに戻ってレビューするときに、より速く理解できるようにするために、「長い道のり」を好みます。:-)

于 2012-08-06T19:42:42.033 に答える
0

date()フォーマットを変更したい。

于 2012-08-06T19:35:50.493 に答える
0

format 関数を使用する必要があります

echo new DateTime($row['date'])->format('Y-m-d');

@Ertyのおかげで更新されました

于 2012-08-06T19:36:26.190 に答える
0

他のすべての人がphpでそれを行うことを提案しています。私は常にmySQL独自の日付関数でこれを行います:

SELECT ... DATE_FORMAT(Date_Field ,'%Y-%e-%c') ... 

DATE_FORMAT

于 2012-08-06T19:46:59.617 に答える