2012-06-28 13 views
22

Sto cercando di ottenere il timestamp del primo giorno del mese alle 00:00:00.Come ottenere il timestamp del mese corrente, il primo giorno del mese, l'ora zero

Per esempio, il timestamp di Jan 01 2012 00:00:00

sto facendo questo:

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

Questo sta tornando a zero ora del giorno corrente del mese, non il inizio del mese.

Qualche suggerimento?

risposta

21

Prova questo: uscita

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

Questa volontà:

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

Wow, non ho nemmeno che 'primo giorno di' esistito. Grande! Grazie. – JROB

+0

@JohnRobinson - Prego! In realtà è documentato sulla [lista dei tempi relativi supportati] (http://us2.php.net/manual/en/datetime.formats.relative.php). Se il mio post ha risposto alla tua domanda, ti preghiamo di accettarlo. – nickb

+4

Non è necessario usare la data ('F Y'), puoi semplicemente usare 'strtotime ('primo giorno di questo mese')'. Puoi persino aggiungere un timestamp di un'altra volta come secondo argomento per ottenere il primo giorno del mese. – gwk

14

Prova questa

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

che si traduce in:

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

Legge l'istruzione PHP sulle date() e time() funzioni.

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

Questo uscite:

2017-05-01 00:00:00 
Problemi correlati