2012-06-28 32 views
22

Estoy tratando de obtener la marca de tiempo del primer día del mes a las 00:00:00.Cómo obtener la marca de tiempo del mes actual, primer día del mes, hora cero

Por ejemplo, la marca de tiempo de Jan 01 2012 00:00:00

que estoy haciendo esto:

$test_month = time(); // Seconds 
$test_month = date('M', $test_month); // This month 
$test_month = strtotime($test_month); // Timestamp of this month 
echo $test_month; 

Esto se vuelve cero horas del día actual del mes, no el comienzo del mes.

¿Alguna sugerencia?

Respuesta

21

Prueba esto: salida

echo date('F jS Y h:i:s A', strtotime('first day of ' . date('F Y'))); 

Esta voluntad:

June 1st 2012 12:00:00 AM 
+0

Wow, yo ni siquiera saben 'primer día de' existido. ¡Estupendo! Gracias. – JROB

+0

@JohnRobinson - ¡De nada! De hecho, está documentado en la [lista de tiempos relativos admitidos] (http://us2.php.net/manual/en/datetime.formats.relative.php). Si mi publicación respondió su pregunta, considere aceptarla. – nickb

+4

No necesita utilizar la fecha ('F Y'), puede usar 'strtotime ('primer día de este mes')'. Incluso puede agregar una marca de tiempo de otra vez como segundo argumento para obtener el primer día de su mes. – gwk

14

probar este

$time = strtotime(date('Y-m-01 00:00:00')); // == 1338534000 

que se traduce en:

$date = date('Y-m-d H:i:s', $time); // == 2012-06-01 00:00:00 

Lea el manual de PHP en los date() y time() funciones.

1
echo date("Y-m-d 00:00:00", strtotime("first day of this month")); 

Este salidas:

2017-05-01 00:00:00 
Cuestiones relacionadas