2009-09-06 39 views

Trả lời

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

Bạn có thể sử dụng chức năng date.
Tôi đang sử dụng strtotime để nhận dấu thời gian cho ngày đó; có những giải pháp khác, chẳng hạn như mktime, chẳng hạn.


Ví dụ, với các modifier 'D', cho đại diện văn bản trong ba chữ:

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

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

Bạn sẽ nhận được:

string 'Thu' (length=3) 

Và với 'l' modifier, để hiển thị toàn văn bản:

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

Bạn nhận được :

string 'Thursday' (length=8) 

Hoặc modifier 'w', để có được số ngày (0-6, 0 phúc Chủ Nhật, và 6 là thứ bảy):

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

Bạn sẽ có được :

string '4' (length=1) 


Hope this helps :-)

+1

Xin chào Pascal, cảm ơn bạn đã đăng bài này cách đây 6 năm. Nó vẫn giúp tôi, vì tôi mới làm quen với PHP. Chúc một ngày tốt lành! –

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

tại sao không hẹn hò ('I', strtotime ($ date)); kể từ khi OP yêu cầu * Chủ nhật, Thứ Hai ... * toàn văn –

+0

Có. Câu trả lời của bạn cũng tốt. –

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

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

Khi đoạn mã này có thể giải quyết được câu hỏi, [bao gồm cả giải thích] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) thực sự giúp cải thiện chất lượng bài đăng của bạn. Hãy nhớ rằng bạn đang trả lời câu hỏi cho người đọc trong tương lai và những người đó có thể không biết lý do cho đề xuất mã của bạn. – Bono

Các vấn đề liên quan