如何将 datetimepicker 日期 (bootstrap 4) 格式 16/07/2019 10:00 转换为 mysql 格式 2019-07-16 10:00 和 laravel (5.8)碳
how to convert datetimepicker date (bootstrap 4) format 16/07/2019 10:00 to mysql format 2019-07-16 10:00 with laravel (5.8) Carbon
你好朋友,我对日期暂停有疑问。在我看来,我有一个日期时间选择器 (bootstrap 4),格式为 12/06/2019 12:00:00 以及我需要的就是把它传递给接受mysql 2019-06-12 12:00:00
的格式
尝试从 js 执行,但没有成功
$(function () {
$('#startdate').datetimepicker({
useCurrent: false,
format: 'Y-MM-D H:mm',
autoclose:true,
minDate: moment()
});
这就是我在我的控制器上尝试的方式,但它给了我一个错误:(
$promociones->fecha_inicio = Carbon::createFromFormat('Y-m-d H:i',$request->fecha_inicio)->toDateTimeString();
$promociones->fecha_fin = Carbon::createFromFormat('Y-m-d H:i',$request->fecha_fin)->toDateTimeString();
错误
试试用这个
\Carbon\Carbon::parse($request->fecha_inicio);
或 Carbon::parse($request->fecha_inicio);
您需要将传入格式与 Carbon::createFromFormat()
匹配,而不是传出格式。
Carbon::createFromFormat('d/m/Y H:i','16/07/2019 10:00')->toDateTimeString();
我假设第一个数字是基于标题的天数,因为没有第 16 个月。从12/06/2019 12:00:00
.
看是不可能的
编辑(时区问题)
既然你说时区设置在config/app.php
,也可以将时区作为第三个参数传递:
$date = Carbon::createFromFormat('d/m/Y H:i','16/07/2019 21:37','America/El_Salvador')->toDateTimeString();
此外,如果您最近更改了配置,您可能需要 运行:
php artisan config:clear
列出时区:https://www.php.net/manual/en/timezones.php
$promociones->fecha_inicio = Carbon::createFromFormat('Y-m-d H:i',$request->fecha_inicio)->toDateTimeString();
$promociones->fecha_fin = Carbon::createFromFormat('Y-m-d H:i',$request->fecha_fin)->toDateTimeString();
在 "config/app.php" 中,时区是这样设置的:'timezone' => '...'
例如:
'timezone' => 'America/Guatemala'
谢谢
我不得不进行大量调查并反复试验,但我设法解决了我的问题...非常感谢所有帮助我为我的解决方案提供想法的人。感谢您的帮助,帮我解决了很多问题。
我开始修复我的日期时间选择器,所以
$('#startdate').datetimepicker({
useCurrent: false,
minDate: moment()
});
$('#enddate').datetimepicker({
useCurrent: false,
minDate: moment()
});
我不得不删除我给他的格式....然后传递给控制器
正如一些人向我建议的那样......传递接收我输入的格式 d / m / YH: m 之后我通过了我所在国家/地区的时区(以防出现日期问题)然后我只需要在我的情况下,将我想将其保存到数据库的格式传递给 mysql 默认情况下接受格式 Ymd H: i ... 并准备好解决问题
$promociones->fecha_inicio = Carbon::createFromFormat('d/m/Y H:i',$request->fecha_inicio,'America/El_Salvador')->format('Y-m-d H:i');
$promociones->fecha_fin = Carbon::createFromFormat('d/m/Y H:i',$request->fecha_fin,'America/El_Salvador')->format('Y-m-d H:i');
你好朋友,我对日期暂停有疑问。在我看来,我有一个日期时间选择器 (bootstrap 4),格式为 12/06/2019 12:00:00 以及我需要的就是把它传递给接受mysql 2019-06-12 12:00:00
的格式尝试从 js 执行,但没有成功
$(function () {
$('#startdate').datetimepicker({
useCurrent: false,
format: 'Y-MM-D H:mm',
autoclose:true,
minDate: moment()
});
这就是我在我的控制器上尝试的方式,但它给了我一个错误:(
$promociones->fecha_inicio = Carbon::createFromFormat('Y-m-d H:i',$request->fecha_inicio)->toDateTimeString();
$promociones->fecha_fin = Carbon::createFromFormat('Y-m-d H:i',$request->fecha_fin)->toDateTimeString();
错误
试试用这个
\Carbon\Carbon::parse($request->fecha_inicio);
或 Carbon::parse($request->fecha_inicio);
您需要将传入格式与 Carbon::createFromFormat()
匹配,而不是传出格式。
Carbon::createFromFormat('d/m/Y H:i','16/07/2019 10:00')->toDateTimeString();
我假设第一个数字是基于标题的天数,因为没有第 16 个月。从12/06/2019 12:00:00
.
编辑(时区问题)
既然你说时区设置在config/app.php
,也可以将时区作为第三个参数传递:
$date = Carbon::createFromFormat('d/m/Y H:i','16/07/2019 21:37','America/El_Salvador')->toDateTimeString();
此外,如果您最近更改了配置,您可能需要 运行:
php artisan config:clear
列出时区:https://www.php.net/manual/en/timezones.php
$promociones->fecha_inicio = Carbon::createFromFormat('Y-m-d H:i',$request->fecha_inicio)->toDateTimeString();
$promociones->fecha_fin = Carbon::createFromFormat('Y-m-d H:i',$request->fecha_fin)->toDateTimeString();
在 "config/app.php" 中,时区是这样设置的:'timezone' => '...'
例如:
'timezone' => 'America/Guatemala'
谢谢
我不得不进行大量调查并反复试验,但我设法解决了我的问题...非常感谢所有帮助我为我的解决方案提供想法的人。感谢您的帮助,帮我解决了很多问题。
我开始修复我的日期时间选择器,所以
$('#startdate').datetimepicker({
useCurrent: false,
minDate: moment()
});
$('#enddate').datetimepicker({
useCurrent: false,
minDate: moment()
});
我不得不删除我给他的格式....然后传递给控制器 正如一些人向我建议的那样......传递接收我输入的格式 d / m / YH: m 之后我通过了我所在国家/地区的时区(以防出现日期问题)然后我只需要在我的情况下,将我想将其保存到数据库的格式传递给 mysql 默认情况下接受格式 Ymd H: i ... 并准备好解决问题
$promociones->fecha_inicio = Carbon::createFromFormat('d/m/Y H:i',$request->fecha_inicio,'America/El_Salvador')->format('Y-m-d H:i');
$promociones->fecha_fin = Carbon::createFromFormat('d/m/Y H:i',$request->fecha_fin,'America/El_Salvador')->format('Y-m-d H:i');