2009-09-06 8 views

risposta

2
$date = '2009-10-22'; 
$sepparator = '-'; 
$parts = explode($sepparator, $date); 
$dayForDate = date("l", mktime(0, 0, 0, $parts[1], $parts[2], $parts[0])); 
76

È possibile utilizzare la funzione date.
Sto usando strtotime per ottenere il timestamp a quel giorno; ci sono altre soluzioni, come mktime, per esempio.


Per esempio, con il modificatore 'D', per la rappresentazione testuale in tre lettere:

$timestamp = strtotime('2009-10-22'); 

$day = date('D', $timestamp); 
var_dump($day); 

Otterrete:

string 'Thu' (length=3) 

E con il modificatore 'l', per la rappresentazione testuale completa:

$day = date('l', $timestamp); 
var_dump($day); 

Ottieni :

string 'Thursday' (length=8) 

O il modificatore 'w', per arrivare al numero del giorno (0-6, 0 è domenica, e 6 essendo sabato):

$day = date('w', $timestamp); 
var_dump($day); 

si ottengono :

string '4' (length=1) 


Spero che questo aiuti :-)

+1

Ehi Pascal, grazie per questo distacco 6 anni fa. Mi ha comunque aiutato, dato che sono nuovo di PHP. Buona giornata! –

18
$date = '2014-02-25'; 
date('D', strtotime($date)); 
+0

perché non data ('I', strtotime ($ date)); dal momento che OP chiede * Domenica, Lunedì ... * nel testo completo –

+0

Sì. Anche la tua risposta è buona. –

2
$datetime = DateTime::createFromFormat('Ymd', '20151102'); 

echo $datetime->format('D'); 
+1

Sebbene questo snippet di codice possa risolvere la domanda, [compresa una spiegazione] (http://meta.stackexchange.com/questions/114762/explaining-entally-code-based-answers) aiuta davvero a migliorare la qualità del tuo post. Ricorda che stai rispondendo alla domanda per i lettori in futuro, e queste persone potrebbero non conoscere le ragioni del tuo suggerimento sul codice. – Bono

Problemi correlati