我是PHP新手,正在尝试将注册表( 01/01/2011)中的日期转换为Y-m-d,以便将其存储在数据库中。
这就是我的代码,我非常确定它以前是有效的,但现在它已经停止工作了。有什么想法吗?
$dateformat = $_POST['dob'];
$correctformat = date('Y-m-d',strtortime($dateformat));我已经检查了$_POST['dob']正在打印的内容并且它是正确的,但是$correctformat每次都打印1970-01-01。
任何帮助都将不胜感激。
谢谢
发布于 2011-11-03 20:38:18
$currentformat = explode("/",$_POST['date']);
$newformat = $currentformat[2]."-".$currentformat[1]."-".$currentformat[0];发布于 2011-11-03 20:23:54
您可以使用DateTime::createFromFormat (请注意PHP5 >= 5.3.0)而不是strtotime,因为strtotime接受m/d/Y而不是d/m/Y
尝试:
$dateformat = $_POST['dob'];
$correctformat = DateTime::createFromFormat('d/m/Y', $dateformat);
echo $correctformat->format('Y-m-d');发布于 2011-11-03 20:30:21
.1。看着日期,you能知道它是先有月份还是日期吗?如果你不能-它应该是怎样的程序来确定实际的顺序?
.2。这个操作需要非常基本的字符串操作,如果计划成为PHP用户,任何人都必须学习:
$chunks = explode("/",$_POST['date']);
$date = "$chunks[2]-$chunks[1]-$chunks[0]";区块的顺序取决于日期部分的实际顺序
https://stackoverflow.com/questions/7994708
复制相似问题