【问题标题】:displaying the date in correct format php sql以正确的格式显示日期 php sql
【发布时间】:2015-05-25 10:04:09
【问题描述】:

我在以正确格式显示从 sql 数据库表中获取的日期时遇到了一个小问题。目前它显示为 yyyy-mm-dd 而我希望它显示为 dd.mm.yyyy 或 dd/mm/yyyy。

这是我正在使用的代码:

<?php

function select_races($sql) {

$day = (int) (isset($_GET['day']) ? $_GET['day'] : date('d')); 
$month = (int) (isset($_GET['month']) ? $_GET['month'] : date('m'));
$year =  (int) (isset($_GET['year']) ? $_GET['year'] : date('Y'));

$date = $day.".".$month.".".$year;

include 'connect.php';
$result = $conn->query($sql);
if ($result->num_rows > 0) {
    echo "<div class='races' id='$year' style='display:block'>
     <table>\n<th colspan='5'>Cycling Season 2015 </th>\n
            <tr id='information'>\n
                <th id='date'>Date</th>\n
                <th id='race'>Race</th>\n
                <th id='route'>Route</th>\n
                <th id='info'>Entry</th>\n
                <th id='rizultz'>Results</th>";
}

while ($row = $result->fetch_assoc()) {
    if ($row['race_activityID'] == 3) {
        if ($row['infoID'] != "0"){
            echo "<tr class='racedetails' id='cancelled' >\n
            <td class='dark' id='date'>".$row["date"]."</td>\n
            <td class='light' id='race'>".$row["title"]."</td>\n
            <td class='dark' id='route'>".$row["route"]."</td>\n
            <td class='light' id='info'>".$row["infoID"]."</td>\n
            <td class='dark' id='rizults'>N/A</td>\n</tr>\n";
        } else {
            echo "<tr class='racedetails' id='cancelled' >\n
            <td class='dark' id='date'>".$row["date"]."</td>\n
            <td class='light' id='race'>".$row["title"]."</td>\n
            <td class='dark' id='route'>".$row["route"]."</td>\n
            <td class='light' id='info'>N/A</td>\n
            <td class='dark' id='rizults'>N/A</td>\n</tr>\n";
        }
    } 
        else if ($row['race_activityID'] == 2) {
            if ($row['infoID'] != "0") {
            echo "<tr class='racedetails' id='nextrace' >\n
            <td class='dark' id='date'>".$row["date"]."</td>\n
            <td class='light' id='race'>".$row["title"]."</td>\n
            <td class='dark' id='route'>".$row["route"]."</td>\n
            <td class='light' id='info'><a href='".$row["infoID"]."'>Info</a></td>\n
            <td class='dark' id='rizults'>N/A</td>\n</tr>\n";
            }
            else {
            echo "<tr class='racedetails' id='nextrace' >\n
            <td class='dark' id='date'>".$row["date"]."</td>\n
            <td class='light' id='race'>".$row["title"]."</td>\n
            <td class='dark' id='route'>".$row["route"]."</td>\n
            <td class='light' id='info'>N/A</td>\n
            <td class='dark' id='rizults'>N/A</td>\n</tr>\n";
        }
        }
        else {
            if (($row['infoID'] != "0") && ($row['resultID'] !="0" )) {
            echo "<tr class='racedetails' id='race' >\n
            <td class='dark' id='date'>".$row["date"]."</td>\n
            <td class='light' id='race'>".$row["title"]."</td>\n
            <td class='dark' id='route'>".$row["route"]."</td>\n
            <td class='light' id='info'><a href='".$row["infoID"]."'>Info</a></td>\n
            <td class='dark' id='rizults'><a href='".$row["resultID"]."'>Results</a></td>\n</tr>\n";
            }
            else if ($row['infoID'] != "0") {
            echo "<tr class='racedetails' id='race' >\n
            <td class='dark' id='date'>".$row["date"]."</td>\n
            <td class='light' id='race'>".$row["title"]."</td>\n
            <td class='dark' id='route'>".$row["route"]."</td>\n
            <td class='light' id='info'><a href='".$row["infoID"]."'>Info</a></td>\n
            <td class='dark' id='rizults'>N/A</td>\n</tr>\n";
            }
            else if ($row['resultID'] != "0") {
            echo "<tr class='racedetails' id='race' >\n
            <td class='dark' id='date'>".$row["date"]."</td>\n
            <td class='light' id='race'>".$row["title"]."</td>\n
            <td class='dark' id='route'>".$row["route"]."</td>\n
            <td class='light' id='info'>N/A</td>\n
            <td class='dark' id='rizults'><a href='".$row["resultID"]."'>Results</a></td>\n</tr>\n";
            }
            else {
            echo "<tr class='racedetails' id='race' >\n
            <td class='dark' id='date'>".$row["date"]."</td>\n
            <td class='light' id='race'>".$row["title"]."</td>\n
            <td class='dark' id='route'>".$row["route"]."</td>\n
            <td class='light' id='info'>N/A</td>\n
            <td class='dark' id='rizults'>N/A</td>\n</tr>\n";
        }
        }

}
echo "</table>\n
        </div>\n";
 }

 ?>

以及我用来显示数据的代码:

<?php select_races("SELECT date, title, route, race_activityID, infoID, resultID FROM races"); ?>

【问题讨论】:

    标签: php sql date


    【解决方案1】:

    为此使用DateTime 接口 -

    $date = new DateTime('2015-05-25'); // $row["date"] = '2015-05-25';
    
    echo $date->format('d.m.Y');
    

    【讨论】:

      【解决方案2】:

      您甚至可以尝试在 SQL 中格式化日期

      <?php select_races("SELECT DATE_FORMAT(date,'%d.%m.%Y') as date, title, route, race_activityID, infoID, resultID FROM races"); ?>
      

      或者格式化显示(更好的解决方案)

      $date = new DateTime($row['date']);
      $formatted_date = $date->format('d.m.Y');
      if ($row['race_activityID'] == 3) {
          if ($row['infoID'] != "0"){
          echo "<tr class='racedetails' id='cancelled' >\n
          <td class='dark' id='date'>".$formatted_date."</td>\n
          <td class='light' id='race'>".$row["title"]."</td>\n
          <td class='dark' id='route'>".$row["route"]."</td>\n
          <td class='light' id='info'>".$row["infoID"]."</td>\n
          <td class='dark' id='rizults'>N/A</td>\n</tr>\n";
          } else {
          echo "<tr class='racedetails' id='cancelled' >\n
          <td class='dark' id='date'>".$formatted_date."</td>\n
          <td class='light' id='race'>".$row["title"]."</td>\n
          <td class='dark' id='route'>".$row["route"]."</td>\n
          <td class='light' id='info'>N/A</td>\n
          <td class='dark' id='rizults'>N/A</td>\n</tr>\n";
          }
      } 
          else if ($row['race_activityID'] == 2) {
              if ($row['infoID'] != "0") {
            echo "<tr class='racedetails' id='nextrace' >\n
            <td class='dark' id='date'>".$formatted_date."</td>\n
            <td class='light' id='race'>".$row["title"]."</td>\n
            <td class='dark' id='route'>".$row["route"]."</td>\n
            <td class='light' id='info'><a href='".$row["infoID"]."'>Info</a></td>\n
            <td class='dark' id='rizults'>N/A</td>\n</tr>\n";
              } else {
            echo "<tr class='racedetails' id='nextrace' >\n
            <td class='dark' id='date'>".$formatted_date."</td>\n
            <td class='light' id='race'>".$row["title"]."</td>\n
            <td class='dark' id='route'>".$row["route"]."</td>\n
            <td class='light' id='info'>N/A</td>\n
            <td class='dark' id='rizults'>N/A</td>\n</tr>\n";
        }
          }
          else {
              if (($row['infoID'] != "0") && ($row['resultID'] !="0" )) {
            echo "<tr class='racedetails' id='race' >\n
            <td class='dark' id='date'>".$formatted_date."</td>\n
            <td class='light' id='race'>".$row["title"]."</td>\n
            <td class='dark' id='route'>".$row["route"]."</td>\n
            <td class='light' id='info'><a href='".$row["infoID"]."'>Info</a></td>\n
            <td class='dark' id='rizults'><a href='".$row["resultID"]."'>Results</a></td>\n</tr>\n";
              } else if ($row['infoID'] != "0") {
            echo "<tr class='racedetails' id='race' >\n
            <td class='dark' id='date'>".$formatted_date."</td>\n
            <td class='light' id='race'>".$row["title"]."</td>\n
            <td class='dark' id='route'>".$row["route"]."</td>\n
            <td class='light' id='info'><a href='".$row["infoID"]."'>Info</a></td>\n
            <td class='dark' id='rizults'>N/A</td>\n</tr>\n";
              }
              else if ($row['resultID'] != "0") {
            echo "<tr class='racedetails' id='race' >\n
            <td class='dark' id='date'>".$formatted_date."</td>\n
            <td class='light' id='race'>".$row["title"]."</td>\n
            <td class='dark' id='route'>".$row["route"]."</td>\n
            <td class='light' id='info'>N/A</td>\n
            <td class='dark' id='rizults'><a href='".$row["resultID"]."'>Results</a></td>\n</tr>\n";
              }
              else {
            echo "<tr class='racedetails' id='race' >\n
            <td class='dark' id='date'>".$formatted_date."</td>\n
            <td class='light' id='race'>".$row["title"]."</td>\n
            <td class='dark' id='route'>".$row["route"]."</td>\n
            <td class='light' id='info'>N/A</td>\n
            <td class='dark' id='rizults'>N/A</td>\n</tr>\n";
        }
          }
      

      【讨论】:

        【解决方案3】:

        尝试在 SQL 中执行:

        SELECT  DATE_FORMAT(date,'%d.%m.%Y') as formatteddate, , title, route, race_activityID, infoID, resultID FROM races;
        

        【讨论】:

          【解决方案4】:

          试试这个代码

          date('d.m.Y', strtotime($row["date"]));// it will show date in 24.05.2015 format
          date('d-m-Y', strtotime($row["date"]));// it will show date in 24-05-2015 format
          

          【讨论】:

            【解决方案5】:

            使用 MySQL DATE_FORMAT()

            <?php select_races("SELECT DATE_FORMAT(date,'%d.%m.%Y') as `date`, title, route, race_activityID, infoID, resultID FROM races"); ?>
            

            【讨论】:

              猜你喜欢
              • 2017-04-24
              • 1970-01-01
              • 2019-10-15
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-10-01
              相关资源
              最近更新 更多