now - strftime php
¿Cómo volver a formatear la cadena de fecha y hora en php? (6)
¿Por qué no usar date () como a continuación, intente esto?
$t = strtotime(''20130409163705'');
echo date(''d/m/y H:i:s'',$t);
y saldrá
09/04/13 16:37:05
Recibo un datetime de un plugin. Lo puse en una variable:
$datetime = "20130409163705";
Eso realmente se traduce en yyyymmddHHmmss
.
Tendría que mostrar esto al usuario como un tiempo de transacción, pero no se ve bien.
Me gustaría organizarlo para que sea como 09/04/2013 16:37:05
o 09-apr-2013 16:37:05
.
¿Cómo hago para cambiar las órdenes de la cadena?
Por ahora, podría pensar en usar substr para separar la fecha y la hora. Todavía no estoy seguro de cómo agregar los caracteres adicionales y reorganizar la fecha.
Para PHP 5> = 5.3.0 http://www.php.net/manual/en/datetime.createfromformat.php
$datetime = "20130409163705";
$d = DateTime::createFromFormat("YmdHis", $datetime);
echo $d->format("d/m/Y H:i:s"); // or any you want
Resultado:
09/04/2013 16:37:05
Podrías hacerlo así:
<?php
$datetime = "20130409163705";
$format = "YmdHis";
$date = date_parse_from_format ($format, $datetime);
print_r ($date);
?>
Puede ver date_parse_from_format()
y http://www.php.net/manual/en/datetime.createfromformat.php
Puede usar la función date_parse_from_format()
...
Mira este date_parse_from_format() ... obtendrás una idea clara
Si desea utilizar substr()
, puede agregar fácilmente los guiones o barras como esta ..
$datetime = "20130409163705";
$yyyy = substr($datetime,0,4);
$mm = substr($datetime,4,6);
$dd = substr($datetime,6,8);
$hh = substr($datetime,8,10);
$MM = substr($datetime,10,12);
$ss = substr($datetime,12,14);
$dt_formatted = $mm."/".$dd."/".$yyyy." ".$hh.":".$MM.":".$ss;
Puede averiguar cualquier formateo adicional desde ese punto.
prueba esto
$datetime = "20130409163705";
print_r(date_parse_from_format("Y-m-d H-i-s", $datetime));
La salida:
[year] => 2013
[month] => 4
[day] => 9
[hour] => 16
[minute] => 37
[second] => 5