¿Cómo puedo eliminar la parte de tiempo de una marca de tiempo?Eliminar parte del tiempo de una marca de tiempo
Por ejemplo, gire 1310571061
a 1310565600
, que es la fecha y hora de fecha simple.
¿Cómo puedo eliminar la parte de tiempo de una marca de tiempo?Eliminar parte del tiempo de una marca de tiempo
Por ejemplo, gire 1310571061
a 1310565600
, que es la fecha y hora de fecha simple.
strtotime(date("Y-m-d", 1310571061));
Eso debería hacerlo por usted.
Gracias. pero esto funcionará solo durante 24 horas. –
@David, ¿qué quieres decir? – Brad
cómo cambiarlo a: 'strtotime (date (" ymd ", time())' then? –
Usted podría hacer:
$date = strotime(date("y/m/d", $timestamp));
Probar:
<?php
$ts = '1310571061';
echo strtotime(date('Y-m-d 00:00:00', $ts));
?>
''Y-m-d'' es más convencional –
@Yanick Rochon: ¡Actualizado, eso debería satisfacer! :) – Shef
En caso de que quería una solución matemática:
$time=1310571061;
echo floor($time/86400)*86400;
Hay 86.400 segundos en 24 horas (que es el longitud de típico día, pero no todos ... ver DST). Dado que nuestras marcas de tiempo están en UTC, esto no debería ser un problema. Puede dividir eso por el número de segundos en un día, soltar el resto y multiplicar hacia atrás.
Cool. Intenté '$ time - ($ time% 86400)' antes de preguntar que la pregunta arrojó resultados incorrectos. ¿Alguna idea de por qué? –
Por cierto, supongo 'time $/86400' es un error tipográfico. ¿derecho? –
@David, eso funciona bien para mí. Tal vez echarle $ tiempo para flotar primero puede ayudar? – Brad
El uso de un objeto DateTime puede ser útil, y también puede hacer que el código sea más legible ...
$dt = new DateTime();
$dt->setTimestamp(1310571061);
echo $dt->format('Y-m-d, H:i:s') . "\r\n";
$dt->setTime(0, 0, 0);
echo $dt->format('Y-m-d, H:i:s');
Resultado ...
2011-07-14, 3:31: 01
2011-07-14, 00:00:00
La elección de si usar o marcas de tiempo primas Los objetos DateTime dependerán mucho de las necesidades de implementación, pero en general los objetos DateTime contribuirán a reducir la confusión y los errores que pueden surgir especialmente en torno a los problemas de Timezone y los problemas de Daylight Saving Time.
$pubdate='2003-02-19T00:00:00.000-05:00';
$da = strtotime($pubdate);
echo $dat = date('Y-m-d', $da);
La respuesta es como: "2003-02-19"
Gracias
Cuál es la fecha en la llanura de marca de tiempo? ¿Te refieres a la fecha + '00: 00: 00'? – Shef
@shef, sí, quiero decir 'Y-M-D 00: 00: 00'. No hay veces calculado en la marca de tiempo. –
Te di una respuesta. – Shef