2013-12-03 2 views
0

Мне нужен код php, который возвращает текущую неделю дня в месяц.Получить текущую неделю месяца

Например: сегодня 03/12/2013, который первая неделя этого месяца

если дата становится 10/12/2013, а затем на следующий день в течение второй недели этого месяца.

Мне нужен код PHP, который Ретуры текущей недели месяца, так что значение всегда будет от 1 до 5.

Кто-нибудь знает этот код, чтобы получить значение.

Любая помощь будет оценена по достоинству.

Спасибо заранее.

- Tibin Mathew

+0

Скорее зависит от того, что вы считаете первым днем ​​недели. – Orbling

+0

Не '2013-12-03' 2-я неделя его месяца? Если мы скажем, что неделя с понедельника по воскресенье (стандарт ISO-8601). –

+1

Как вы определяете неделю? В какой день начинается неделя? Если неделя начинается в понедельник, а первая часть месяца - воскресенье, на той неделе одна, а вторая - вторая неделя? Или вы считаете только полные недели? Если да, то на какой неделе вы считаете 1-й, как будто это воскресенье? Вам нужно прочно определить, что такое «неделя в месяц» перед проверкой. –

ответ

0

Я думаю, вы просто разделить день на 7?

$DoM = date("j"); 
switch(true) { 
    case $DoM <= 7: 
     //this is week 1 
     break; 
    case $DoM <= 14: 
     //this is week 2 
     break; 
    case $DoM <= 21: 
     //this is week 3 
     break; 
    case $DoM <= 28: 
     //this is week 4 
     break; 
    default: 
     //only possibility left is week 5 
} 

ИЛИ

вы хотите рассмотреть это на основе определенного стартового дня недели ли? В этом случае у вас будет диапазон 1-6 (например, 1-я суббота, а начало недели - воскресенье, означающее, что 31-е будет на неделе 6 ...).

0

Этот грубый маленький код, который дает приблизительную оценку того, что это за месяц месяца.

$date = date("W"); // Get the week of the year 
$week = ($date % (52/12)); // The division remainder (modulo) of the average number of weeks per month will tell you what week of the month you are. 

Это хорошо работает, когда я тестировал на сегодняшний день, на следующей неделе, 6, 9-й неделе года и так далее. Но это не точно, потому что количество недель в месяц никогда не равномерно среднее (например, февраль).

Надеюсь, что это поможет. А также меня интересуют улучшенные ответы.