在数据库中将日期和时间插入为“2021-05-13T12:31”?

Inserting date and time as "2021-05-13T12:31" in database?

我的表单中有一个 datetime 输入,用户将从该输入中 select 日期和时间。但是插入时,数据应该只有日期和时间,但 T 也被插入了?怎么插不进去? 这是 迁移 代码:

public function up()
{
    Schema::create('competitions', function (Blueprint $table) {
        $table->id();
        $table->string('title');
        $table->text('desc');
        $table->float('entry_fees');
        $table->varchar('start_date_time',50);
        $table->Date('end_date_time',50);
        $table->integer('status');
        $table->string('date_time');
        $table->timestamps();
    });
}

列名称是 start_date_timeend_date_time?

如果它只是日期时间,你能不能像这样设置你的列,然后在创建时进行碳解析

public function up()
{
    Schema::create('competitions', function (Blueprint $table) {
        $table->id();
        $table->string('title');
        $table->text('desc');
        $table->float('entry_fees');
        $table->datetime('start_date_time');
        $table->datetime('end_date_time');
        $table->integer('status');
        $table->string('date_time');
        $table->timestamps();
    });
}

首先,您的列应该是 table 中的 dateTime 类型,然后 您可以使用 laravel carbon

更改其格式
$createdAt = Carbon::parse($item['start_date_time']);

那你就可以使用

$start_date = $createdAt->format('d/m/Y H:i:s');