我用这种格式组成了一个日期选择器:dateFormat:'DD,d MM,yy'。
然后我有一个表格,
如果用户不选择日期,则它将采用以下格式的当前日期:echo date('l,j F,Y - H:i:s');并保存在数据库中。
如果用户填写输入日期,那么我想在数据库中保存这个填充日期。
问题是,在我的数据库中我得到这样的日期:0000-00-00 00:00:00。
我试图使用strototime将日期转换为时间戳,但我没有成功。
你知道我们怎么做到这一点吗?
<input type="text" class="datepicker" name="date" value="if(isset($_POST['date'])) echo strtotime($f['date']); else echo date('l, j F, Y - H:i:s'); ?>" />
答案 0 :(得分:1)
将
'Wednesday, 21 May, 2014'
之类的日期转换为timestamp
我不确定您是如何使用insert
语句使用输入的
但是你应该使用正确的date_format字符串,以便MySQL
将其解释为有效的datetime
字符串。
示例:
select @dt:='Wednesday, 21 May, 2014' dt,
str_to_date( @dt, '%W, %d %M, %Y' ) ts;
我认为您使用了错误的格式字符串。最好使用'%W, %d %M, %Y'
。
示例:
insert
into table_name( timstamp_field )
values( str_to_date( $date_time_input_by_user, '%W, %d %M, %Y' ) )
除非这是来自用户输入,否则您必须使用与MySQL
日期格式字符串PHP
匹配的不同''l, j F, Y - H:i:s''
格式字符串
答案 1 :(得分:1)
<?php
$date = strtotime("Wednesday, 21 May 2014 18:32:09");
$newformat = date("Y-m-d H:i:s", $date);
?>