我在Angular中使用fullCalendar插件/指令,我在尝试将日期/时间保存到数据库时遇到问题。
这些是发布到我的服务器的值:
{"title":"Hey","start":"2015-08-13T00:00:00.000Z","end":"2015-08-13T00:00:00.000Z","allDay":true}
现在在我的控制器中,我尝试将日期/时间字符串转换为有效的日期/时间格式,然后保存到我的数据库中:
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'
];
}
}
这是我得到的错误:
遇到非正确形成的数值
我想知道如何使用指定的格式将两个日期时间值转换为PHP中的有效日期时间对象。
答案 0 :(得分:3)
strtotime正在将字符串转换为时间戳,而日期正在将时间戳转换为字符串,您需要使用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'
];
}
}
答案 1 :(得分:0)
编辑:对不起,strtotime没有按照我的想法做,看起来你想要DateTime :: createFromFormat从String创建一个DateTime对象,然后你可以从那里转到unix时间戳。
答案 2 :(得分:0)
添加strtotime($ mydateValue)为我修复了它。