Php 可以更改日期时间本地输入的格式

Php 可以更改日期时间本地输入的格式,php,mysql,laravel,phpmyadmin,Php,Mysql,Laravel,Phpmyadmin,注意:这个问题不是重复的,原因是我不仅仅使用PHP,我的页面确实是用PHP编写的,但是使用HTML代码 我将再次重复一遍,当然我使用php,但我在php档案中使用HTML;我使用的是laravel框架,我还使用了blade,我在上面提到的页面中添加了链接 现在,我继续解释我的问题。 我有一个表单的输入,他的类型是datetime local,输入以这种格式显示日期: 年月日00:00 但在我的数据库中,日期时间的格式是: yyyy mm dd 00:00:00 我已经知道这个日期时间格式是关于

注意:这个问题不是重复的,原因是我不仅仅使用PHP,我的页面确实是用PHP编写的,但是使用HTML代码

我将再次重复一遍,当然我使用php,但我在php档案中使用HTML;我使用的是laravel框架,我还使用了blade,我在上面提到的页面中添加了链接

现在,我继续解释我的问题。

我有一个表单的输入,他的类型是datetime local,输入以这种格式显示日期:

年月日00:00

但在我的数据库中,日期时间的格式是:

yyyy mm dd 00:00:00

我已经知道这个日期时间格式是关于我的时区配置的,但是如果可能的话,我想改变格式,可视化地保存为该格式,就像在我的数据库中一样。我说的只是日期,不是时间

我想如果可能的话,我的数据库不会有问题

如果可能,我想使用javascript更改格式,或者在控制器的函数
save()
中,创建一种更改格式的方法。我的数据库在mysql中,我在phpmyadmin中工作

此外,我还将我的函数
store()
放入控制器

public function store(Request $request){


    $hours = new HoursNew();

    try {
    /*THE NAME FROM THE INPUTS IN MY FORM, 
    ALSO THE NAMES OF THE FIELDS OF MY TABLE OF MY DATABASE*/ 

        $hours->id = $request->id;
        $hours->time_start = $request->time_start;
        $hours->time_end = $request->time_end;
        $hours->estate_time_id = $request->estate_time_id;
        $hours->court_id = $request->court_id;
        $hours->save();


    } catch (\Illuminate\Database\QueryException $e) {

         Session::flash('error', 'Ups! We have some problems to process your operation');

        return redirect()->route('ListHours.store');

    }

        Session::flash('message', "It's OK");
        return redirect()->route('ListHours.store');

}
注意:对我的数据库不是很重要,但了解它很重要:

秒数对于保存到我的数据库来说不是很重要。

  • 使用函数将日期时间输入解析为Unix时间戳
  • 使用函数将其转换为数据库格式字符串

    详细信息

  • d
    月日,两位数字,前导零01到31
  • m
    一个月的数字表示,前导零为01到12
  • Y
    一年的完整数字表示,4位数字示例:1999或2003
  • H
    24小时格式的一小时,前导零00到23
  • i
    前导零为00到59的分钟数
  • s
    秒,前导零00到59
尝试:

用碳来做这件事

Carbon::parse('your date')->toDateTimeString()应该完成这项工作

此外,Carbon还可以使用parse static方法创建实例,如下所示:

Carbon::createFromFormat('format','YourData')->toDateTimeString()

// $input is your input datetime string
// $output you insert into Database
$output = date('Y-m-d H:i:s', strtotime($input));