【问题标题】:PHP: convert date to datetime and insert it into mysql database?PHP:将日期转换为日期时间并将其插入mysql数据库?
【发布时间】:2017-07-08 00:32:58
【问题描述】:

我的 html 页面中有一个输入字段,它从 jQuery datepicker 获取 Date

格式如下:

18/02/2017

我有一个 MYSQL 字段,它是 DATETIME

我需要将上面的日期插入到这个 MYSQL 字段中。

所以我尝试了这段代码:

$mysqlDate = date('Y-m-d H:i:s', strtotime($_POST['php_date']));

但是$mysqlDate 的结果是这样的:

1970-01-01 01:00:00

有人可以就这个问题提出建议吗?

提前致谢。

【问题讨论】:

  • date("Y-m-d", strtotime($your_date) 试试,我的意思是删除他的
  • @rahul_m,还是一样。

标签: php mysql date datetime


【解决方案1】:

做一件事,

$mysqlDate = date('Y-m-d H:i:s', strtotime(str_replace("/","-",$_POST['php_date'])));
echo $mysqlDate;

试试看,

它应该可以工作。

注意: m/d/y 或 d-m-y 格式的日期通过查看各个组件之间的分隔符来消除歧义:如果分隔符是斜杠 (/),则假定为美式 m/d/y;而如果分隔符是破折号 (-) 或点 (.),则假定为欧洲 d-m-y 格式。但是,如果年份以两位数格式给出并且分隔符是破折号(-,则日期字符串被解析为 y-m-d。

来源link

您的新问题答案,

$mysqlDate = date('Y-m-d H:i:s', strtotime(str_replace("/","-",$_POST['php_date']).' + '.rand(30,60*60*24*3).' seconds'));

【讨论】:

  • 不错的...成功了。有没有办法给 $mysqlDate 添加一个随机的小时和分钟?
  • 伙计,你的问题已经解决,至于问题。为您的这个新问题创建新问题,我向您保证我也会在那里。 :)
  • 谢谢!如果我的回答解决了你的问题,你可以接受我的回答。再次感谢:)
  • 会做的..它说我需要等待2分钟才能接受它... :)
  • 我的心不接受这一点,请检查答案的编辑部分以了解您的新问题。谢谢
【解决方案2】:

您必须将发布日期转换为

YYYY-MM-DD

在转换为日期时间之前格式化。

你可以的

$date=$_POST['php_date'];
list($day,$month,$year)=explode('/', $date);
$date=$year.'-'.$month.'-'.$day;

然后使用$date

【讨论】:

  • si ricorda,分隔符带有 explode() 的“primo” ;-) 我解决了这个问题。否则,它们将转换为字符串错误。
  • 谢谢伙计!没有注意到错误! :)
猜你喜欢
  • 1970-01-01
  • 2013-04-27
  • 1970-01-01
  • 1970-01-01
  • 2014-04-12
  • 1970-01-01
  • 1970-01-01
  • 2011-07-05
相关资源
最近更新 更多