我正在使用Zend和Doctrine,并使用jquery日历以dd / mm / yyyy的格式收集日期。我需要格式化它以yyyy / mm / dd进入MySql。
我最近开始使用Zend和Doctrine,因此不确定应该在何处以及如何进行格式化。可以请别人帮助我吗?
答案 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
组合。
希望有所帮助,