Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

211
Visualizações
¿Cómo obtener solo la fecha de un objeto DateTime?

Tengo una variable de tipo DateTime() y quiero obtener solo la fecha para compararla con otra variable de fecha. Así es como traté de hacer eso, pero obtengo datos adicionales que no necesito:

 date_default_timezone_set('Africa/Tunis'); $date= new \DateTime('today'); $date->format('d/m/Y');

var_dump($date) devuelve: object(DateTime)#617 (3) { ["date"]=> string(19) "2017-04-09 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(12) "Africa/Tunis" } Así que quiero obtener algo como esto: 04/09/2017

ACTUALIZAR: Este es mi código de acción (tengo un formulario en twig que contiene una entrada de tipo de fecha):

 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); }
about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Lo estabas haciendo (casi bien). Para referencia aquí, copie y pegue su código:

 date_default_timezone_set('Africa/Tunis'); $date= new \DateTime('today'); $date->format('d/m/Y');

La última línea devuelve la cadena deseada. Si desea generar eso, simplemente puede echo :

 echo $date->format('d/m/Y');

Básicamente, su malentendido fue que el método de format no modifica el objeto $date , sino que solo devuelve la cadena deseada. Si observa la documentación del método de format , encontrará:

Devuelve la fecha formateada de acuerdo con el formato dado

Dice "retorna" con lo que significa devuelto al contexto de la llamada: la expresión de la llamada 'se sustituye' por el valor devuelto. Si lo generara en la función, entonces el manual habría dicho algo como "imprime" o "produce" o "volca". Puede leer más sobre lo que significa 'devolver un valor' en esta parte del manual . El primer ejemplo muestra el equivalente exacto de lo que intentó hacer:

Ejemplo #1 Uso de return

 <?php function square($num) { return $num * $num; } echo square(4); // outputs '16'. ?>

Por último, con respecto al uso de var_dump : tenga en cuenta que esto está destinado a fines de depuración y normalmente no para mostrar la salida al usuario. var_dump normalmente simplemente volcará "Todas las propiedades públicas, privadas y protegidas de los objetos" del objeto dado. Debe consultar las páginas del manual var_dump , contiene muchos ejemplos.

about 4 years ago · Santiago Trujillo Relatório

0

Formato de uso:

 $date->format('d/m/Y');

o

 $date->format('m/d/Y');

(No sé sus preferencias locales)

about 4 years ago · Santiago Trujillo Relatório

0

Si necesita comparar con otra marca de fecha y hora, simplemente conviértala de esta manera:

 <?php $literal = "1 week ago"; $date = new DateTime($literal); $date->setTime(0,0); $timestamp = $date->getTimestamp(); ?>
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda