【发布时间】:2017-09-04 20:36:53
【问题描述】:
我有一个 DateTime() 类型的变量,我只想获取它的日期以将其与其他日期变量进行比较。这是我尝试这样做的方法,但我得到了我不需要的额外数据:
date_default_timezone_set('Africa/Tunis');
$date= new \DateTime('today');
$date->format('d/m/Y');
var_dump($date) 返回:object(DateTime)#617 (3) { ["date"]=> string(19) "2017-04-09 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(12) "Africa/Tunis" }
所以我想得到这样的东西:09/04/2017
更新:这是我的操作代码(我在 twig 中有一个包含日期类型输入的表单):
public function addArtAction(Request $request)
{
$article=new article();
$em=$this->getDoctrine()->getManager();
$title=$request->request->get('titre');
$content=$request->files->get('contenu');
$dtePub=$request->request->get('date');
date_default_timezone_set('Africa/Tunis');
$datee= new \DateTime('today');
$date=$datee->format('d/m/Y');
if($dtePub==$date)
{
$article->setTitre($title);
$article->setCorps($content);
$article->setEtat(true);
$article->setDtePub($date);
$em->persist($article);
$em->flush();
$this->get('session')->getFlashBag()->add('success','Votre article a été archivé!');
}
elseif($dtePub>$date)
{
$article->setTitre($title);
$article->setCorps($content);
$article->setEtat(false);
$article->setDteArch($date);
$article->setDtePub($dtePub);
$em->persist($article);
$em->flush();
$this->get('session')->getFlashBag()->add('success','Votre article a été publié avec succès!');
}
elseif($dtePub<$date)
{
$this->get('session')->getFlashBag()->add('failure','Vous devez choisir une future date!');
}
var_dump($date);
}
【问题讨论】:
-
$date->format(..)返回带有格式化日期的字符串。 -
PHP doesn't use MS Excel format masks for dates.... 阅读文档总是有帮助的
-
请停止添加
symfony标签,您的问题与symfony无关。 -
请删除您在上次更新中添加的大代码块,它无助于澄清问题。其他用户的时间很宝贵,这是浪费。