【问题标题】:Is possible to change the format of a datetime-local input [duplicate]可以更改日期时间本地输入的格式[重复]
【发布时间】:2019-03-08 01:00:44
【问题描述】:

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

我再重复一遍,当然我使用 php,但我在我的 PHP 档案中使用 HTML;我正在使用 laravel 框架 并且我使用刀片,我从提到的页面中放置了链接。

Changing the datetime format in php

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

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

dd-mm-yyyy 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');

}

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

保存到我的数据库中的秒数并不是很重要。

【问题讨论】:

    标签: php mysql laravel phpmyadmin


    【解决方案1】:

    使用 Carbon 来做到这一点。

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

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

    Carbon::createFromFormat('format','your data')->toDateTimeString()

    【讨论】:

      【解决方案2】:
      • 使用 strtotime 函数将您的日期时间输入解析为 Unix 时间戳。
      • 使用date函数将其转换为数据库格式字符串。

        详情

      • d 日期,2 位数字,前导零 01 到 31
      • m 月份的数字表示,前导零从 01 到 12
      • Y 年份的完整数字表示,4 位数字示例:1999 或 2003
      • H 24 小时制的小时格式,前导零从 00 到 23
      • i 前导零 00 到 59 的分钟
      • s 秒,前导零从 00 到 59

      试试:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-21
        • 2018-12-21
        • 1970-01-01
        • 2014-01-27
        相关资源
        最近更新 更多