2011-08-10 28 views

Respuesta

5

hace fácilmente con strtotime(), y capaz de cambiar a cualquier otro formato de fecha es posible que tenga también.

$old_date = "2011-08-10 20:40:12"; 
$new_date = date("Y-m-d", strtotime($old_date)); 
echo $new_date; 

// Prints 2011-08-10 
1
$date = date("Y-m-d", strtotime($date)); 

sólo tiene que utilizar el formato de fecha para la fecha solamente y convertir su cadena a una marca de tiempo.

3

Bueno, una forma sencilla de hacerlo sería el siguiente (si ya ha llegado la fecha en una cadena):

$output = substr($date, 0, 10); 

Esto significaría que agarrar los primeros 10 caracteres en "2011 -08-10 20:40:12 ", dejándote con" 2011-08-10 "!

14

rápida/sucia:

$output = substr('2011-08-10 20:40:12', 0, 10); 

ligeramente más robusto:

$output = date('Y-m-d', strtotime('2011-08-10 20:40:12')); 

bastante fiable:

$output = DateTime::createFromFormat('Y-m-d h:i:s', '2011-08-10-20:40:12')->format('Y-m-d'); 
+0

En el tercer caso en PHP 5.5.4: Error fatal: Clase 'Fecha' no encontrada, pero DateTime :: createFromFormat() funciona. –

+0

Ah sí. buena atrapada. Gracias. arregló la respuesta. –

2

Otra solución, no pensaron tan bueno es simplemente hacer una subcadena:

$newDate = substr($date, 0, 10) 
+0

¡Malditos chicos, son rápidos! Este ya ha sido publicado – demius

+0

¡Me alegra ver que no soy el único que piensa que esto es "simple"! :-) – ninetwozero

1

prefiero strftime hasta la fecha ya que es entrada de formato coincide con los de C y otra idiomas.

$output = strftime('%Y-%m-%d', strtotime($date)); 
-1

Probar:

$date = explode(" ",$date); 
$output = $date[0]; 

Si están separados por un espacio, puede utilizar explotar para separarlos.

+0

Su error Gives no puede convertir el desplazamiento de cadena en el conjunto. –

0

un pellizco a explotar el método que utiliza para que pueda convertirlo en un chiste:

lista ($ fecha) = explode ('', $ fecha);

la función de lista es muy útil para las fechas.

Otro ejemplo usando la lista:

lista ($ año, mes $, $ día) = explode ('', $ fecha);

También, usted es mejor usar "en lugar de "en las cadenas, a menos que su cadena incluye variables.

por ejemplo

  • 'bla'
  • 'Bing'
  • " Hola { $ bob} "

Estoy harto de ver que incluso los documentos PHP usan" cadena "en ejemplos donde deben usar 'cadena': o)

0
$old_date = "2011-08-10 20:40:12"; 
$new_date = date("Y-m-d", strtotime($old_date)); 
echo $new_date; 

// Prints 2011-08-10 

Esto debería ser muy útil.

Cuestiones relacionadas