HTML日期不输出与输入相同?

时间:2016-09-23 12:16:50

标签: php html date

我在这里有一个小问题,我的输入日期显示为dd / mm / yyyy然而当我使用我的php获取此数据并做一个简单的回声来检查一切正常时,它会输出yyyy / mm / dd(向后)任何想法为什么会这样?

示例

输入:

日/月/年

2016年1月2日

输出:

YYYY / MM / DD

2016年2月1日

HTML



<form method="post" action="MyDoc.php" autocomplete="off">
  <input type="date" name="date_1A5">
</form>
&#13;
&#13;
&#13;

PHP

<?php
  if ($_SERVER['REQUEST_METHOD'] == 'POST'){
      $risk_1A5 = $_POST['date_1A5'];
      echo 'Risk_1A5: '.$risk_1A5.'<br>';
  }
?>

更新

完整代码

<?php
ob_clean();session_start();

if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] == false) {
    header("Location: index.php");
}

if (isset($_GET['logout'])){
    session_destroy();  
    header("Location: index.php");
    exit(); 
}
else{
    if (isset($_GET['Username'])){  
        if (isset($_GET['Encryption'])){    
            $Username = $_GET['Username'];
            $Encryption = $_GET['Encryption'];

            if (is_dir("USERS/".$Username) === true) {
                if($Encryption == file_get_contents("USERS/".$Username."/Encryption.txt")){
                    $NoOfDocs = file_get_contents("USERS/".$Username."/NoOfDocuments.txt"); 
                }
                else{
                    header("Location: 201Error.php");exit();    
                }
            }   
            else{
                header("Location: 201Error.php");exit();    
            }
        }
    }
}
$myFile=fopen("USERS/".$Username."/AllowedOnSettings.txt","w") or exit("Can’t open file!");
fwrite($myFile, 'no');
fclose($myFile);

if ($_SERVER['REQUEST_METHOD'] == 'POST'){
    $risk_1A1 = $_POST['tb_1A1'];
    $risk_1A2 = $_POST['tb_1A2'];
    $risk_1A3 = $_POST['tb_1A3'];
    $risk_1A4 = $_POST['tb_1A4']; 
    $risk_1A5 = $_POST['date_1A5'];
    $risk_1A6 = $_POST['date_1A6'];

    $output_date = date_parse_from_format("Y-m-d", $risk_1A5);

    echo $risk_1A1;
    echo $risk_1A2;
    echo $risk_1A3;
    echo $risk_1A4;
    date('d/m/Y', $output_date);
    echo $risk_1A6;


    $risk_2A1 = $_POST['tb_2A1'];
    $risk_2A2 = $_POST['tb_2A2'];
    $risk_2A3 = $_POST['tb_2A3'];
    $risk_2A4 = $_POST['tb_2A4'];
    $risk_2A5 = $_POST['date_2A5'];
    $risk_2A6 = $_POST['date_2A6'];

    $risk_3A1 = $_POST['tb_3A1'];
    $risk_3A2 = $_POST['tb_3A2'];
    $risk_3A3 = $_POST['tb_3A3'];
    $risk_3A4 = $_POST['tb_3A4'];
    $risk_3A5 = $_POST['date_3A5'];
    $risk_3A6 = $_POST['date_3A6'];

    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/A1.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $risk_1A1);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/A2.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $risk_1A2);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/A3.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $risk_1A3);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/A4.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $risk_1A4);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/A5.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $risk_1A5);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/A6.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $risk_1A6);
    fclose($myFile);

    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/A7.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $risk_2A1);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/A8.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $risk_2A2);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/A9.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $risk_2A3);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/A10.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $risk_2A4);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/A11.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $risk_2A5);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/A12.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $risk_2A6);
    fclose($myFile);

    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/A13.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $risk_3A1);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/A14.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $risk_3A2);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/A15.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $risk_3A3);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/A16.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $risk_3A4);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/A17.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $risk_3A5);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/A18.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $risk_3A6);
    fclose($myFile);

    }
?>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Risk Assessment</title>

        <link href="CSS/boilerplate.css" rel="stylesheet" type="text/css">
        <link href="CSS/master.css" rel="stylesheet" type="text/css">
        <link href="CSS/nav.css" rel="stylesheet" type="text/css">
        <link href="CSS/riskAssessment.css" rel="stylesheet" type="text/css">
        <script src="JAVASCRIPT/respond.min.js"></script>     
</head>
<body>
    <div id="header">
        <div id="headerTitle">
            <p>Project Archive</p>
        </div>
        <div id="nav">
            <ul>
                <li><?php echo '<a href="Home.php?isset=true&Username='.$Username.'&Encryption='.$Encryption.'">Home</a>';?></li>
                <li><?php echo'<a href="All.php?isset=true&Username='.$Username.'&Encryption='.$Encryption.'">All</a>';?></li>
                <li><?php echo'<a href="Quote.php?isset=true&Username='.$Username.'&Encryption='.$Encryption.'">Quote</a>';?></li>
                <li><?php echo'<a href="Support.php?isset=true&Username='.$Username.'&Encryption='.$Encryption.'">Support</a>';?></li>
                <li><?php echo'<a href="SettingsSecurity.php?isset=true&Username='.$Username.'&Encryption='.$Encryption.'">Settings</a>'?></li>
            </ul>
        </div>

    </div>
    <div id="search">
        <p>Search All Documents...</p>
        <form action=<?php echo '"RiskAssessmentDoc.php?isset=true&Username='.$Username.'&Encryption='.$Encryption.'"'; ?> method="post">
            <input type="text" name="search" placeholder="search" class="tbSearch">
        </form>
    </div>

    <?php echo '<a href="projectarchive.php?logout&isset=true&Username='.$Username.'&Encryption='.$Encryption.'">';?>
        <div id="divLogout">
            <table class="btnLogout">
                <tr>
                    <td>Logout</td>
                </tr>
            </table>
        </div>
    </a>

    <div id="docTitle">
        <p>Risk Assessment</p>
    </div>

    <div id="docCategory">
        <p>Health & Safety</p>
    </div>
    <div id="riskContent">
        <div id="riskForm">
            <div id="riskTop">
                <div id="riskTitle">
                    <p>Risk Assessment</p>
                </div>
                <div id="riskDate">
                    <?php echo '<p>'.date("d/m/Y").'</p>' ?>
                </div>
            </div>

            <form method="post" action=<?php echo '"RiskAssessmentDoc.php?isset=true&Username='.$Username.'&Encryption='.$Encryption.'"'; ?> autocomplete="off">
                <div id="riskNo">
                    <p>Risk No.1</p>
                </div>

                <div id="riskQ1">
                    <p>What are the Hazards?</p>
                </div>

                <div id="riskA1">
                    <textarea name="tb_1A1" cols="1" rows="2"><?php echo $risk_1A1;?></textarea>
                </div>

                <div id="riskQ2">
                    <p>What are you already doing?</p>
                </div>

                <div id="riskA2">
                    <textarea name="tb_1A2" cols="1" rows="2"><?php echo $risk_1A2;?></textarea>
                </div>

                <div id="riskQ3">
                    <p>Do you need to do anything else to control the risk?</p>
                </div>

                <div id="riskA3">
                    <textarea name="tb_1A3" cols="1" rows="2"><?php echo $risk_1A3;?></textarea>
                </div>

                <div id="riskQ4">
                    <p>Action by who?</p>
                </div>

                <div id="riskA4">
                    <textarea name="tb_1A4" cols="1" rows="2"><?php echo $risk_1A4;?></textarea>
                </div>

                <div id="riskQ5">
                    <p>Action by when</p>
                </div>

                <div id="riskA5">
                    <input type="date" name="date_1A5">
                </div>

                <div id="riskQ6">
                    <p>Done</p>
                </div>

                <div id="riskA6">
                    <input type="date" name="date_1A6">
                </div>




                <div id="riskNo">
                    <p>Risk No.2</p>
                </div>

                <div id="riskQ1">
                    <p>What are the Hazards?</p>
                </div>

                <div id="riskA1">
                    <textarea name="tb_2A1" cols="1" rows="2"><?php echo $risk_2A1;?></textarea>
                </div>

                <div id="riskQ2">
                    <p>What are you already doing?</p>
                </div>

                <div id="riskA2">
                    <textarea name="tb_2A2" cols="1" rows="2"><?php echo $risk_2A2;?></textarea>
                </div>

                <div id="riskQ3">
                    <p>Do you need to do anything else to control the risk?</p>
                </div>

                <div id="riskA3">
                    <textarea name="tb_2A3" cols="1" rows="2"><?php echo $risk_2A3;?></textarea>
                </div>

                <div id="riskQ4">
                    <p>Action by who?</p>
                </div>

                <div id="riskA4">
                    <textarea name="tb_2A4" cols="1" rows="2"><?php echo $risk_2A4;?></textarea>
                </div>

                <div id="riskQ5">
                    <p>Action by when</p>
                </div>

                <div id="riskA5">
                    <input type="date" name="date_2A5">
                </div>

                <div id="riskQ6">
                    <p>Done</p>
                </div>

                <div id="riskA6">
                    <input type="date" name="date_2A6">
                </div>




                <div id="riskNo">
                    <p>Risk No.3</p>
                </div>

                <div id="riskQ1">
                    <p>What are the Hazards?</p>
                </div>

                <div id="riskA1">
                    <textarea name="tb_3A1" cols="1" rows="2"><?php echo $risk_3A1;?></textarea>
                </div>

                <div id="riskQ2">
                    <p>What are you already doing?</p>
                </div>

                <div id="riskA2">
                    <textarea name="tb_3A2" cols="1" rows="2"><?php echo $risk_3A2;?></textarea>
                </div>

                <div id="riskQ3">
                    <p>Do you need to do anything else to control the risk?</p>
                </div>

                <div id="riskA3">
                    <textarea name="tb_3A3" cols="1" rows="2"><?php echo $risk_3A3;?></textarea>
                </div>

                <div id="riskQ4">
                    <p>Action by who?</p>
                </div>

                <div id="riskA4">
                    <textarea name="tb_3A4" cols="1" rows="2"><?php echo $risk_3A4;?></textarea>
                </div>

                <div id="riskQ5">
                    <p>Action by when</p>
                </div>

                <div id="riskA5">
                    <input type="date" name="date_3A5">
                </div>

                <div id="riskQ6">
                    <p>Done</p>
                </div>

                <div id="riskA6">
                    <input type="date" name="date_3A6">
                </div>

                <div class="center" onclick="javascript:this.parentNode.submit();">
                    <span>Send</span>
                </div>
            </form>
        </div>        
    </div>
</body>
</html>

3 个答案:

答案 0 :(得分:1)

您可以执行以下操作,我在评论中对其进行了解释,您可以在以下代码中根据需要重新格式化日期,格式可能会有所不同,但可以根据需要更改输入格式和输出格式。

if (isset($_POST['date'])) {

    // Get the date
    $input = $_POST['date'];

    // Create a DateTime object from the input
    $date = DateTime::createFromFormat('Y-m-d', $input);

    // Format it to your needs
    $formatted = $date->format('d-m-Y');

    // Echo it out
    echo $formatted 
}

答案 1 :(得分:1)

这是因为您正在使用type="date"https://www.w3.org/TR/html-markup/input.date.html),它应该以[{1}}格式返回日期(请将其读作yyyy-mm-dd)。
你可以用另一种格式输入它,我认为它与浏览器语言环境有关,但它会以输出它的格式保存值。

您无法更改此行为(Is there any way to change input type="date" format?)。

如果你想以另一种格式显示它,你可以使用像

这样的东西在php端进行详细说明。
Y-m-d

然后,您可以使用$output_date = date_parse_from_format("Y-m-d", $input_date); 显示正常的PHP date()

更新

对不起,我的错字。 date('d/m/Y', $output_date)为您提供了一个分割日期的数组。

更简单的解决方案:

解析它
date_parse_from_format()

然后将其重新转换为带有

的字符串
$output_date = date_create_from_format("Y-m-d", $risk_1A5);

示例输入

date_format($output_date, 'd/m/Y');

输出

print_r($date = date_create_from_format("Y-m-d", "2016-12-21"));

var_dump(date_format($date, 'Y-m-d'));

答案 2 :(得分:0)

这不是错误,日期的表示与它的值不同。

应用程序(浏览器)可以根据国家/操作系统/系统配置等以适当的方式呈现值。

这意味着用户可以看到他/她可能常见的格式的值。该格式可能与PHP转储的输出不同,后者在服务器上格式化。