0

我目前正在 Joomla 中构建一个自定义组件,该组件从输入表单获取值输入,然后将它们包装起来,以便在 SOAP 请求中发送出去。输入表单元素之一是日期(出生日期,或“dob”形式的名称)需要转换为 SOAP api 将接受的有效日期格式。

我在接受并准备要发送的这些表单元素的函数中遇到了一个非常奇怪的问题,而当我尝试将日期格式更改为 SOAP 的有效格式时,PHP 函数 strtotime 似乎根本不起作用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" });
4

1 回答 1

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);
    }
}
于 2013-05-15T01:03:54.877 回答