2009-09-06 12 views

Odpowiedz

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

Można użyć funkcji date.
Używam strtotime, aby uzyskać znacznik czasu do tego dnia; istnieją inne rozwiązania, na przykład mktime.


Na przykład, z modyfikatorem 'd', dla reprezentacji tekstowej w trzech liter:

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

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

Dostaniesz:

string 'Thu' (length=3) 

I z 'L' modyfikatora, dla pełnej reprezentacji tekstowej:

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

Otrzymujesz :

string 'Thursday' (length=8) 

Albo 'w' modyfikator, aby dostać się do liczby dzień (0 do 6, gdzie 0 oznacza niedzielę, a 6 sobota):

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

Będziesz uzyskać :

string '4' (length=1) 


Nadzieja to pomaga :-)

+1

Hej Pascal, dziękuję za komentarz to 6 lat temu. To nadal mi pomogło, ponieważ jestem nowy w PHP. Miłego dnia! –

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

dlaczego nie data ("I", strtotime ($ date)); ponieważ OP pyta o * Niedziela, poniedziałek ... * w pełnym tekście –

+0

Tak. Twoja odpowiedź jest również dobra. –

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

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

Chociaż ten fragment kodu może rozwiązać pytanie, [w tym wyjaśnienie] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-answer-answers) naprawdę pomaga poprawić jakość twojego posta. Pamiętaj, że odpowiadasz na pytanie przeznaczone dla czytelników w przyszłości, a te osoby mogą nie znać powodów sugestii dotyczących kodu. – Bono

Powiązane problemy