我试图在数据库中存储两个日期,但它变成了另一种格式。为了输入日期,我使用dd-mm-yyyy
有人能帮我吗?
谢谢Benny
<?php
if(isset($_POST['newEvent'])) {
session_start();
//$eventName = $_POST['SelCatName'];
$eventSDate = $_POST['Event-StartDate'];
$eventSTime = $_POST['Event-StartTime'];
$eventEDate = $_POST['Event-EndDate'];
$eventETime = $_POST['Event-EndTime'];
$eventDescription = $_POST['Event-Description'];
$catIDs = $_POST["SelCatName"];
$catID = explode("-", $catIDs);
$sql = $con->query("INSERT INTO event (eventName, eventSdate, eventSTime, eventEdate, eventETime, eventDescription, catID)Values('{$catID [1]}', '{$eventSDate}', '{$eventSTime}', '{$eventEDate}', '{$eventETime}', '{$eventDescription}', '{$catID[0]}')");
header('Location: eventOK.php');
}
?>
数据库将以yyyy-mm-dd
格式存储日期
因此,您需要使用以下代码将日期更改为该格式
$eventSDate = date('Y-m-d', strtotime($_POST['Event-StartDate']));
提供错误的格式会将"1970-01-01"添加到数据库
在将日期存储到数据库之前:
$eventSDate = date("Y-m-d" , strtotime($_POST['Event-StartDate'])) ;
MySQL以yyyy-mm-dd
格式存储日期,以hh:mm:ss
格式存储时间
因此,您必须将您的日期和时间转换为这种格式
$eventSDate = isset($_POST['Event-StartDate']) ? date('Y-m-d', strtotime($_POST['Event-StartDate'])) : '' ;
$eventSTime = isset($_POST['Event-StartTime']) ? date('H:i:s', strtotime($_POST['Event-StartTime'])) : '' ;
$eventEDate = isset($_POST['Event-EndDate']) ? date('Y-m-d', strtotime($_POST['Event-EndDate'])) : '' ;
$eventETime = isset($_POST['Event-EndTime']) ? date('H:i:s', strtotime($_POST['Event-EndTime'])) : '' ;