Zend和Doctrine的日期格式

时间:2011-10-04 11:26:10

标签: php mysql zend-framework date doctrine

我正在使用Zend和Doctrine,并使用jquery日历以dd / mm / yyyy的格式收集日期。我需要格式化它以yyyy / mm / dd进入MySql。

我最近开始使用Zend和Doctrine,因此不确定应该在何处以及如何进行格式化。可以请别人帮助我吗?

3 个答案:

答案 0 :(得分:1)

我劝你jquery-datepiker使用这种可能性与意大利语本地化,为了让日历用意大利语,但设置格式datepiker yyyy-mm-dd所以我没有问题将它保存在数据库中在数据中进行了任何更改。

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/i18n/jquery.ui.datepicker-it.js"></script>

//DatePicker
$('.inputDate').datepicker({
    dateFormat: 'yy-mm-dd'
});

OR

现在我发现,如果你坚持你的选择,你可以使用Doctrine的行为:http://www.doctrine-project.org/blog/using-behaviors-to-share-relationship-properties

查看示例setPassword。

您可以实现以下内容:

class NameModel extends BaseNameModel
{
    public function setDate_name($date_name)
    {
        list($d, $m, $y) = explode("-", $date_name);
        $newDateName = $y."-".$m."-".$d;
        $this->_set('date_name', $newDateName);
    }
}

答案 1 :(得分:0)

我给你的php函数,它将日期作为dd / mm / yyyy并返回yyyy / mm / dd date。

function dateconvert($dateOriginal)
{
    $dateOriginal = preg_replace("/[^0-9\/]/","",$dateOriginal); //sanitizing
    $temp = explode("/",$dateOriginal);
    $dateNew = $temp[2]."-".$temp[1]."-".$temp[0];
    $dateNew = date("Y-m-d", strtotime($dateNew));
    return $dateNew;
}

答案 2 :(得分:0)

我认为你不需要Zend Framework或Doctrine来做到这一点。您可以使用正则表达式编写类似下面的内容:

$output = preg_replace('#(\d+)/(\d+)/(\d+)#', '\3/\2/\1', $jQueryInput);

如果您想要一个不太“直接”的解决方案(即更具可扩展性),您还可以使用date / strtotime组合。

希望有所帮助,