Php 转换日期,如“日期”;2014年5月21日,星期三”;时间戳

Php 转换日期,如“日期”;2014年5月21日,星期三”;时间戳,php,Php,我用以下格式设置了一个日期选择器:dateFormat:'DD,d-MM,yy' 然后我有一张表格 如果用户不选择日期,那么它将采用以下格式的当前日期:echo date('l,j F,Y-H:i:s');并保存在数据库中 如果用户填写输入日期,那么我想将这个填写的日期保存在数据库中 问题是,在我的数据库中,我得到的日期如下:0000-00-00:00:00 我试图使用strototime将日期转换为时间戳,但我没有成功做到这一点 你知道我们怎么做吗 <input type="text"

我用以下格式设置了一个日期选择器:dateFormat:'DD,d-MM,yy'

然后我有一张表格

如果用户不选择日期,那么它将采用以下格式的当前日期:echo date('l,j F,Y-H:i:s');并保存在数据库中

如果用户填写输入日期,那么我想将这个填写的日期保存在数据库中

问题是,在我的数据库中,我得到的日期如下:0000-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'); ?>" />

将日期(如2014年5月21日星期三)转换为时间戳

我不确定您如何将输入与
insert
语句一起使用。
但是您应该使用正确的日期格式字符串,以便
MySQL
将其解释为有效的
datetime
字符串

示例

select @dt:='Wednesday, 21 May, 2014' dt, 
       str_to_date( @dt, '%W, %d %M, %Y' ) ts;
insert 
  into   table_name( timstamp_field )
 values( str_to_date( $date_time_input_by_user, '%W, %d %M, %Y' ) )
我认为您使用了错误的格式字符串。您最好使用
“%W,%d%M,%Y”

示例

select @dt:='Wednesday, 21 May, 2014' dt, 
       str_to_date( @dt, '%W, %d %M, %Y' ) ts;
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'


发布您用来插入数据库的代码。听上去,您可能试图将时间戳保存到mysql中的datetime字段中?请注意,如果设置了$\u POST['date'],则会回显时间戳。在另一种情况下,您回显一种人类可读的格式。什么包含$f[日期']?