2011-02-10 26 views
14

php otomatik olarak bugün (Pazartesi = 1, Salı = 2)

gibi vb onların günlük değeri, Pazartesi = 1, Salı = 2, bir şey için tarihleri ​​dönüştürmek için bir işlevi var mı doğru biçimi belirtmek eğer
$daynum = func('wednesday'); //echos 3 

cevap

52
$day_of_week = date('N', strtotime('Monday')); 
4

date işlevi bu döndürebilir:

$daynum = date("w", strtotime("wednesday")); 

Cumartesi 6'ya kadar Pazar için 0 döndürecektir.

Alternatif biçimi şöyledir:

$daynum = date("N", strtotime("wednesday")); 

(bu ISO-8601 represensation olan) Pazar 7'ye aracılığıyla Pazartesi 1 dönecektir hangi.

+2

ISO-8601, hafta içi gün 1 ile başlar: Pazartesi - 7 = Pazar (http://en.wikipedia.org/wiki/ISO_8601) –

1
$tm = localtime($timestamp, TRUE); 
$dow = $tm['tm_wday']; 

$dow, haftanın günüdür. localtime'un heresevi yaklaşımından haberdar olun, ancak (pun): Pazar haftanın son günü değil, ilk (0).

+0

Bu, kesinlikle sapkın değil. Sonuçta, Tanrı, 7 gün (Cumartesi) ;-) –

+0

@ pst Argh'da dinlendi. Bunu söylemeden önce tanımlamalıydım. Bunu hep unutuyorum. –

12

idate() işlevini kullanmaya ne dersiniz?

$integer = idate('w', $timestamp); 
5
$day_number = date('N', $date); 

idate() Bu $ tarih depolanan tarih için, Pazar 7'ye Pazartesi için 1 döndürür. İkinci argümanın çıkarılması, date() öğesinin geçerli güne ait sayıya dönmesine neden olacaktır.

+0

Veya daha iyisi: '$ day_number = tarih ('N', strtotime ($ tarih));' – b1919676