2011-02-10 18 views

Respuesta

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

la función date puede devolver este si especifica el formato correcto:

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

devolverá 0 para el domingo a través de 6 para el sábado.

un formato alternativo es:

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

que devolverá 1 de lunes a 7 para el domingo (este es el represensation ISO-8601).

+2

ISO-8601 comienza entre semana con 1 = Lunes a 7 = Domingo (http://en.wikipedia.org/wiki/ISO_8601) –

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

Donde $dow es el día de (la) semana. Sin embargo, tenga en cuenta el enfoque herético de localtime (juego de palabras): el domingo no es el último día de la semana, sino el primero (0).

+0

Eso no es herético en absoluto. Después de todo, Dios descansó el séptimo día (sábado) ;-) –

+0

@pst Argh. Debería haberlo definido antes de declarar. Siempre me olvido de eso. –

12

¿Qué hay de usar idate()? idate()

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

Esto devolverá un 1 para el lunes a 7 para el domingo, por la fecha en que se almacena en la fecha $. Omitir el segundo argumento provocará que date() devuelva el número del día actual.

+0

O mejor: '$ day_number = date ('N', strtotime ($ date));' – b1919676

Cuestiones relacionadas