在我的UI中,日期显示如下 - 会发生什么 - 如果我离开支票 谢谢 p>
Leron p>
div> dd.mm.YYYY hh:ii:ss < /代码>。 用户可以编辑/添加新日期,并且很可能他们会尝试使用不能用于SQL查询的相同格式(24.06.2012 15:35:00)。 这是我到目前为止所做的: p>
$ dt =(date_parse_from_format(“dmY H:i:s”,$ data ['event_time'])); \ n $ newdate = sprintf(“%02d-%02d-%04d%02d:%02d:%02d”,$ dt ['day'],$ dt ['month'],$ dt ['year'],$ dt ['hour'],$ dt ['minute'],$ dt ['second']);
$ test = date(“Ymd H:i:s”,strtotime($ newdate));
if ($ test ==“1970-01-01 01:00:00”)
{
抛出新的异常('无效日期');
}
code> pre>
if($ test ==“1970-01-01 01:00:00”) code>我得到一个例外,但如果我评论
$ test = date(“Ymd H:i:s”,strtotime($ newdate)); code>行和检查日期仅用零插入。
$ newdate code>是 SQL的正确格式 -
YYYY-mm-dd H:i:s code>但是obv。 我想念这里的东西。 如何将此字符串作为有效的SQL日期时间插入? p>
In my UI the dates are shown like this - dd.mm.YYYY hh:ii:ss
. The users are able to edit/add new dates and most probably they'll try to use the same format (24.06.2012 15:35:00) which can not be used for a SQL query. Here is what I've done till now:
$dt = (date_parse_from_format("d.m.Y H:i:s", $data['event_time']));
$newdate = sprintf("%02d-%02d-%04d %02d:%02d:%02d" , $dt['day'], $dt['month'], $dt['year'], $dt['hour'], $dt['minute'], $dt['second']);
$test = date("Y-m-d H:i:s", strtotime($newdate));
if ($test == "1970-01-01 01:00:00")
{
throw new Exception('Invalid date');
}
What happens is - if I leave the check if ($test == "1970-01-01 01:00:00")
I get an exception, but if I comment the $test = date("Y-m-d H:i:s", strtotime($newdate));
line and the check the date is inserted only with zeros.
$newdate
is a sting in the right format for SQL - YYYY-mm-dd H:i:s
but obv. I miss something here. How to insert this string as a valid SQL datetime?
Thanks
Leron