イベントと呼ばれるテーブルがあると仮定します。ここでは、イベント_dateフィールドが型dateTimeのものです。
<?php
$mysqli = new mysqli("gitbox.net", "username", "password", "database");
if ($mysqli->connect_error) {
die("接続に失敗しました: " . $mysqli->connect_error);
}
$sql = "SELECT event_date FROM events WHERE id = 1";
$result = $mysqli->query($sql);
if ($result) {
// 日付フィールドを直接削除します
$date = $result->fetch_column();
echo "元の日付形式: " . $date;
} else {
echo "クエリに失敗しました: " . $mysqli->error;
}
$mysqli->close();
?>
出力は次のとおりです。
元の日付形式: 2025-05-23 14:30:00
年、月、日のパート「2025-05-23」のみが必要な場合、または「2025年5月23日」などの他の形式で出力したい場合は、結果を処理する必要があります。
<?php
$date = $result->fetch_column();
$dateObj = new DateTime($date);
// 年、月、日のみを表示するための形式
$formattedDate = $dateObj->format('Y-m-d');
echo "フォーマット日: " . $formattedDate;
?>
これは出力です:
フォーマット日: 2025-05-23
または:
$formattedDate = $dateObj->format('d M Y');
echo "フォーマット日: " . $formattedDate;
出力:
フォーマット日: 23 May 2025
フォーマットされた文字列をデータベースに直接返す場合は、mysqlのdate_format関数を使用できます。
<?php
$sql = "SELECT DATE_FORMAT(event_date, '%Y-%m-%d') AS event_date FROM events WHERE id = 1";
$result = $mysqli->query($sql);
if ($result) {
$date = $result->fetch_column();
echo "SQL フォーマット日: " . $date;
}
?>
出力:
SQL フォーマット日: 2025-05-23
substrを使用して、日付文字列の最初の10文字を直接傍受することができますが、十分な柔軟性がなく、エラーが発生しやすくなります。
$date = $result->fetch_column();
$shortDate = substr($date, 0, 10);
echo "インターセプトの日付: " . $shortDate;
mysqli_result :: fetch_columnによって返される日付は文字列形式であり、カスタマイズする前に変換する必要があります。
PHP DateTimeを使用することは推奨される方法であり、柔軟性と安全の両方です。
また、SQLクエリで直接フォーマットして、PHP側の処理を減らすこともできます。
形式が安定していると判断されない限り、文字列で日付を傍受しないでください。
処理方法の合理的な選択は、コードの保守性と堅牢性を確保しながら、ビジネスニーズに沿って日付をより詳細に表示することができます。