转换 DateTime 时遇到格式不正确的数值
A non well formed numeric value encountered when converting DateTime
我在 Angular 中使用 fullCalendar plugin/directive,目前在尝试将 date/time 保存到我的数据库时遇到问题。
这些是发布到我的服务器的值:
{"title":"Hey","start":"2015-08-13T00:00:00.000Z","end":"2015-08-13T00:00:00.000Z","allDay":true}
现在在我的控制器中,我尝试将两个 date/time 字符串转换为有效的 date/time 格式,然后再保存到我的数据库中:
public function store(ScheduleRequest $request)
{
$schedule = new Schedules;
$schedule->allDay = $request->allDay;
$schedule->start = strtotime(date('Y-m-d H:i:s', $request->start));
$schedule->end = strtotime(date('Y-m-d H:i:s', $request->end));
$schedule->title = $request->title;
if ($schedule->save())
{
return [
'success' => 'Data Was Saved Successfully'
];
}
}
这是我得到的错误:
A non well formed numeric value encountered
我想知道如何使用指定格式将两个日期时间值转换为 PHP 中的有效日期时间对象。
编辑:抱歉,strtotime 没有像我想的那样做,看起来你想要 DateTime::createFromFormat 从字符串创建 DateTime 对象,然后你可以从那里转到 unix 时间戳。
strtotime 将字符串转换为时间戳,date 将时间戳转换为字符串,您需要像这样使用 strtotime 反转日期:
public function store(ScheduleRequest $request)
{
$schedule = new Schedules;
$schedule->allDay = $request->allDay;
$schedule->start = date('Y-m-d H:i:s', strtotime($request->start));
$schedule->end = date('Y-m-d H:i:s', strtotime($request->end));
$schedule->title = $request->title;
if ($schedule->save())
{
return [
'success' => 'Data Was Saved Successfully'
];
}
}
添加 strtotime($mydateValue) 为我修复了它。
我在 Angular 中使用 fullCalendar plugin/directive,目前在尝试将 date/time 保存到我的数据库时遇到问题。
这些是发布到我的服务器的值:
{"title":"Hey","start":"2015-08-13T00:00:00.000Z","end":"2015-08-13T00:00:00.000Z","allDay":true}
现在在我的控制器中,我尝试将两个 date/time 字符串转换为有效的 date/time 格式,然后再保存到我的数据库中:
public function store(ScheduleRequest $request)
{
$schedule = new Schedules;
$schedule->allDay = $request->allDay;
$schedule->start = strtotime(date('Y-m-d H:i:s', $request->start));
$schedule->end = strtotime(date('Y-m-d H:i:s', $request->end));
$schedule->title = $request->title;
if ($schedule->save())
{
return [
'success' => 'Data Was Saved Successfully'
];
}
}
这是我得到的错误:
A non well formed numeric value encountered
我想知道如何使用指定格式将两个日期时间值转换为 PHP 中的有效日期时间对象。
编辑:抱歉,strtotime 没有像我想的那样做,看起来你想要 DateTime::createFromFormat 从字符串创建 DateTime 对象,然后你可以从那里转到 unix 时间戳。
strtotime 将字符串转换为时间戳,date 将时间戳转换为字符串,您需要像这样使用 strtotime 反转日期:
public function store(ScheduleRequest $request)
{
$schedule = new Schedules;
$schedule->allDay = $request->allDay;
$schedule->start = date('Y-m-d H:i:s', strtotime($request->start));
$schedule->end = date('Y-m-d H:i:s', strtotime($request->end));
$schedule->title = $request->title;
if ($schedule->save())
{
return [
'success' => 'Data Was Saved Successfully'
];
}
}
添加 strtotime($mydateValue) 为我修复了它。