1

DATETIME で部分文字列を実行しようとしています。DATETIME の値は、mysql を介してデータベースから取得されます。

例:

DATETIME: 2013-07-31 12:30:60 年: 2013 月: 07 日: 31 時間: 12 分: 30

以下のコードが機能しません。どうすればいいですか?

 <?php
$sql = "SELECT * FROM auctionItem;";
        // Write a statement to open a connection to MySQL server
        $link = mysql_connect("localhost:3306", "root", "gfg");
        // Write a statement to select the required database
        mysql_select_db("KXCLUSIVE", $link);
        // Write a statement to send the SQL statement to the MySQL server for execution and retrieve the resultset
        $resultset = mysql_query($sql);
        // Write a statement to close the connection
        mysql_close($link);

    $dateTime = $row["startTime"];
    $year = substr($dateTime, 0,4);
    $month = substr($dateTime, 5,7);
    $day = substr($dateTime, 8,10);
    $hour = substr($dateTime, 11,13);
    $minute = substr($dateTime, 14,16);
    echo "year " .$year."<br></br>";
    echo "month " .$month."<br></br>";
    echo "day " .$day."<br></br>";
    echo "hour " .$hour."<br></br>";
    echo "minute " .$minute."<br></br>";
    ?>
4

4 に答える 4

1

DateTimeこれにはクラスを使用します。

$dt = new DateTime('2013-07-31 12:30:60');
echo "year " .$dt->format('Y')."<br></br>";
echo "month " .$dt->format('m')."<br></br>";
echo "day " .$dt->format('d')."<br></br>";
echo "hour " .$dt->format('H')."<br></br>";
echo "minute " .$dt->format('i')."<br></br>";
于 2013-04-20T23:56:15.273 に答える
0

あなたのコードには欠けている部分があります:

<?php
   $sql = "SELECT * FROM auctionItem;";
        // Write a statement to open a connection to MySQL server
        $link = mysql_connect("localhost:3306", "root", "gfg");
        // Write a statement to select the required database
        mysql_select_db("KXCLUSIVE", $link);
        // Write a statement to send the SQL statement to the MySQL server for execution and retrieve the resultset
        $resultset = mysql_query($sql);
        // Write a statement to close the connection
        $row = mysql_fetch_assoc($resultset); //this was lost
        mysql_close($link);

    $dateTime = $row["startTime"];
    $year = substr($dateTime, 0,4);
    $month = substr($dateTime, 5,7);
    $day = substr($dateTime, 8,10);
    $hour = substr($dateTime, 11,13);
    $minute = substr($dateTime, 14,16);
    echo "year " .$year."<br></br>";
    echo "month " .$month."<br></br>";
    echo "day " .$day."<br></br>";
    echo "hour " .$hour."<br></br>";
    echo "minute " .$minute."<br></br>";
?>

PS: mysql 拡張機能を使用しないでください...代わりに mysqli または PDO を使用してください

于 2013-04-20T23:56:50.460 に答える