我查看了几个与此问题有关的线程,但仍然无法弄清楚我的代码出了什么问题。
我从我的表单中带来了一个格式为“mm-dd-yyyy”的日期字段,当我将它带到我的代码中以将出生日期字段更新为“yyyy-dd-mm”时,我使用以下内容
$birth=$_POST['dateBorn'];
$dateB = date('Y-d-m',strtotime($birth));
$finaldateB = ($dateB === false) ? '0000-00-00' : date('Y-d-m',strtotime($dateB));
当我回显变量的值(使用 11-23-2012 的出生日期)时,我看到它们的以下值出生 = 11-23-2012,dateB = 1969-31-12,finaldateB = 1969-31- 12
我显然在做一些不正确的事情并且无法找到
TIA
为了让事情发挥作用,我至少发现了一种可能并不优雅但给我现在需要的结果的解决方法
$dateB = $birth;
$dateborn_a=explode("-",$birth);
$yearborn = $dateborn_a[2];
$dayborn = $dateborn_a[1];
$monthborn = $dateborn_a[0];
$dateOfBirth=$yearborn."-".$monthborn."-".$dayborn;
然后使用 $dateOfBirth 中的值更新表。它适用于我迄今为止测试过的所有记录。