Tengo un fragmento de código WP / PHP y el siguiente da como resultado: 20150204

<?php echo  $datef=get_post_meta($post->ID, 'date_slot', true); ?>

Quiero usar la división de fragmentos y dividir la fecha con una barra inclinada: 2015/02/04

Probé algunos métodos, pero no es tan simple como dividir un fragmento normal con una cadena normal, como quiero que aparezca, 4/2/2. Hasta ahora tengo esto:

<?php $datef=get_post_meta($post->ID, 'date_slot', true); 
echo chunk_split($datef,4, '/') ?>

Que está dando salida a esto: 2015/0204 /

php
0
Owen O'Neill 28 ene. 2015 a las 15:43

3 respuestas

La mejor respuesta
$date = DateTime::createFromFormat('Ymd', get_post_meta($post->ID, 'date_slot', true));
echo $date->format('Y/m/d');
0
Mark Baker 28 ene. 2015 a las 12:47

Chunk_split () parece la herramienta incorrecta ya que está diseñada para dividir una cadena en trozos del mismo tamaño, pero su fecha tiene dos tamaños diferentes (4, 2, 2).

Dado que está trabajando con fechas, el lugar lógico para buscar son las funciones de fecha. La clase DateTime (PHP 5.3+) tiene un método createFromFormat () que le permite convertir su cadena de fecha en un objeto de fecha lógica con el que luego se puede trabajar, incluido el formateo con el método format ().

0
David Triebe 28 ene. 2015 a las 12:50

Prueba así:

$dateValue = '20150204';
$time=strtotime($dateValue);
$year=date("Y",$time);
$month=date("m",$time);
$day=date("d",$time);
echo $year."/".$month."/".$day;  //Output : 2015/02/04
0
Priyank 28 ene. 2015 a las 12:48