我目前正在Joomla中构建一个自定义组件,它从输入表单中获取值输入,然后将它们包装起来,然后在SOAP请求中发送。 其中一个输入表单元素是日期(出生日期,或者其名称为“dob”),需要转换为SOAP api将接受的有效日期格式。
我在接受和准备要发送的这些表单元素的函数中有一个非常奇怪的问题,而当我尝试将日期格式更改为有效格式时,PHP函数strtotime似乎根本不起作用供SOAP api处理。
以下是处理post元素dob的时间格式的相关函数代码:
$postVar['dob'] = date("Y-d-m G-i-s", strtotime($_POST['dob']));
die(print_r($postVar['dob']));
当我死亡并打印如上所示的变量以查看结果时,strtotime完全被忽略并且它不会死亡。
表单使用jQuery Datepicker作为日期表单元素,这是$ _POST ['dob']的变量输出在函数接收时的样子。
14/03/2013
有谁可以看到为什么strtotime功能在这里没有任何影响而被忽略? 感谢
编辑:只是在这里添加jQuery datepicker代码,如果它有任何帮助。
jQuery("#dob").datepicker({dateFormat:'dd/mm/yy', changeMonth: true, stepMonths: 12, showAnim:"slideDown" });
答案 0 :(得分:2)
在Joomla!中,你从不直接触摸任何超级全球。此外,如果它们可能反映错误情况,请始终检查您获得的结果。
$input = JFactory::getApplication()->input;
$dob = $input->get('dob', null, 'string');
$postVar['dob'] = 'invalid';
if (!is_null($dob)) {
$dob = strtotime($dob);
if ($dob > 0) {
$postVar['dob'] = date("Y-d-m G-i-s", $dob);
}
}