2015-01-19 2 views
-4

я нашел бы в субботу первую неделю с этого месяца, сделать что-тоНайти субботу в ** первой недели **

Так что, если это первая неделя в месяц, и это суббота {

не эхо Да

еще эхо нет

Спасибо за комментарий

+3

Просьба показать ваш код – Napster

+0

Вопрос полностью неясен. – Manwal

+1

Для получения наилучших результатов покажите, что вы пробовали, и объясните, как эта попытка не удалась. Мы можем использовать ваш код в качестве отправной точки для предоставления полезного решения. –

ответ

0

Ju го, чтобы дать понять, что неясно:

Вы должны ответить на два вопроса:

  • Когда начинается неделя
  • , что это «первая неделя»

Если неделя начинается Понедельник, предположим, первый день месяца - среда - это «первая неделя», первая, которая началась в предыдущем месяце в понедельник? В этом случае вы просто будете искать первую субботу месяца. Ваша формулировка, по-видимому, указывает на то, что вы не имели в виду этот простой случай.

Или это первая неделя, когда начинается в этом месяце? В этом случае вам придется искать первую полную неделю (в зависимости от того, когда начнется ваша неделя, воскресенье или понедельник) и принять субботу на этой неделе.


Итак, вы просто хотите знать, какой Calender неделю вы находитесь, и это первый или второй календарной недели, который содержится в этом месяце ли.

Это базовая функциональность функции дата: http://php.net/manual/de/function.date.php

Вы можете либо обратиться за календарную неделю даты непосредственно, как это:

$week = date("W", strtotime("01.02.2015")); 

Или вы могли бы вычислить первый понедельник из сальдо с начального рабочего дня:

$weekday_of_first_day = date("w", strtotime("01.02.2015")); 

Это даст вам 0 на воскресенье и так далее. Затем вам нужно найти первый понедельник после этой даты, который станет началом второй недели.

Обратите внимание на разницу, касающуюся «начала недели»: «W» предполагает, что неделя начнется в понедельник, «w» предполагает воскресенье.

второй Edit:

Ok, вот код:

<?php 
// get current month and year 
$current_my = date("m.Y"); 
// get first week of current month 
$first_week = date("W", strtotime("01.$current_my")); 
// trim the leading zero that is returned by date() 
$first_week = ltrim($first_week, 0); 

// get current week 
$week = date("W"); 
$week = ltrim($week, 0); 

// check, if it is the week after the first one 
if ($week == $first_week +1) { 
    echo "yes"; 
} 
?> 

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

+0

Извините, мои объяснения не были хорошими (плохой английский). Я хочу, чтобы номер недели со субботы на второй неделе в месяц, и я не буду с номером недели с первой субботы в месяц, начиная с понедельника. – user7185463

+0

Если я правильно понимаю вас, ответ на мой первый вопрос: «Неделя начинается в понедельник». Хорошо, но что считается «первой» или «второй» неделей? – nlu

+0

первая - первая неделя месяца, может быть, лучше :: номер недели с первой недели в месяц для февральского месяца 2015 года - это номер недели 5. Второй месяц недели в месяц - февраль 2015: weeknumber 6, так что больше не говорить о субботе, но weeknumber.Sample :: Это первая неделя месяца (пример 5-й недели), что-то делать, это вторая неделя месяца (образец weeknumber 6) что-то делать – user7185463

Смежные вопросы