2012-03-02 15 views

risposta

-1

Che assomiglia il modo giusto per farlo a me. Si potrebbe desiderare di renderlo una funzione però.

10

Questo non è esattamente computazionalmente elegante, ma mi piace perché è così leggibile:

strtotime("first day of this month"); 
+0

Vale la pena notare che varianti come "primo giorno del mese prossimo" e "primo giorno di questo mese +2 mesi" funzionano anche. – drewish

+2

Vale anche la pena notare che a differenza del campione nella domanda che ha la mezzanotte come ora, questa versione utilizza le ore, i minuti e i secondi correnti. – drewish

+1

Mi piace usare '$ date = new DateTime ('primo giorno di questo mese'); $ date-> setTime (0, 0, 0); ' – LeonardChallis

8

Perché così complicato?

date("Y-m-01") 

Questo funziona bene;)

(Non ti preoccupare, ho preso a calci me stesso difficile per sprecare un'ora pasticciano con strtotime prima di rendersi conto che potrei fare questo)

2

date("Y-m-01") funzionerà! perfettamente; Ho usato la stessa tecnica per trovare il record dal primo giorno del mese al giorno attuale. Dai un'occhiata al seguenti righe di codice:

if(!isset($FromDate)) 
      $FromDate=date('Y-m-01'); //date with current month's first day 

if(!isset($ToDate)) 
     $ToDate=date('Y-m-d'); /////current date 

spero che funzionerà in base alle esigenze.

Problemi correlati