Последние дни предыдущего месяца - PullRequest
2 голосов
/ 06 декабря 2010

В PHP я создаю календарь с кодом из здесь .Я связал его с Basecamp и успешно вычисляю количество часов, отработанных каждый день, и суммирую их за неделю и месяц.Чтобы правильно рассчитать сверхурочную работу, мне нужны часы всей недели, даже если она охватывает конец / начало месяца.

alt text

После нескольких часов попыток у меня нетНе удалось рассчитать даты дней, отмеченных знаком «?»на изображении выше.

Я не могу избежать ощущения, что мне здесь не хватает чего-то очевидного, но я не смог понять это.Любая помощь высоко ценится, спасибо.

1 Ответ

3 голосов
/ 06 декабря 2010

Вы можете использовать mktime() и установить дневной аргумент, который меньше 1: 0 за последний день, -1 за день до последнего дня и т. Д.

Тодает вам метку времени UNIX, которую вы можете использовать для определения дня недели, а затем - пока вы не достигнете воскресенья / понедельника (независимо от того, какое начало недели вы используете) - вычтите -86400 или снова позвоните mktime() с уменьшенным днем ​​на 1.

Пример:

mktime(0, 0, 0, 12, -1, 2010); # timestamp of Nov 29th 00:00:00 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...