使用php和sql将dd/mm/yyyy转换为yyyy/mm/dd

als*_*eet 1 php mysql datetime date

我对php很新.我认为这很直接,但我很困惑.

我有一个表格要求用户选择他们的日期,他们输入的格式是dd/mm/yyyy

链接的mysql数据库格式为yyyy/mm/dd,从我的理解你无法改变这一点.

我只想弄清楚我可以在哪里更改日期的格式.它会在sql行发送信息吗?

我找到了这个无关的答案:

<?php 
$date = date("Y-m-d"); 
mysql_query("INSERT INTO date_table VALUES ('$name', '$date')", $db_connection); 
?>
Run Code Online (Sandbox Code Playgroud)

但我不能让这个工作......

这里是我目前拥有的一些代码片段:

// Check for night attending:
    if (empty($_POST['night_attending'])) {
        $errors[] = 'You forgot to enter the night you want to attend.';
    } else {
        $na = mysqli_real_escape_string($dbc, trim($_POST['night_attending']));
    }
Run Code Online (Sandbox Code Playgroud)

.....................................

// Make the query:
        $q = "INSERT INTO guests (first_name, last_name, email, night_attending) VALUES ('$fn', '$ln', '$e', '$na')";       
        $r = @mysqli_query ($dbc, $q); // Run the query.
        if ($r) { // If it ran OK.
Run Code Online (Sandbox Code Playgroud)

.....................................

<p>Night Attending: <input type="text"id="datepicker"  name="night_attending" size="10" value="<?php if (isset($_POST['night_attending'])) echo $_POST['night_attending']; ?>" /></p>
Run Code Online (Sandbox Code Playgroud)

谢谢你的时间.

阿拉斯泰尔

Sar*_*raz 7

更新:(基于评论)

要从表单中获取日期值,您可以执行以下操作:

$date = date('Y/m/d', strtotime($_POST['night_attending']));
Run Code Online (Sandbox Code Playgroud)

假设:

  • 收到的数据格式有效
  • 您正在标记中使用POST方法<form>或相应地更改.

你需要使用strtotime:

$date = date('Y/m/d', strtotime($date));
Run Code Online (Sandbox Code Playgroud)