|
|
|
| Как определить таймштамп, например, понедельника именно ТЕКУЩЕЙ недели? Пробовал функцией strtotime, не получается. Если задать просто "Sunday", то в понедельник он вернёт таймштамп следующего понедельника, а не текущего дня :( Как правильно? | |
|
|
|
|
|
|
|
для: __Андрей__
(22.12.2008 в 00:29)
| | Правильно Monday. ) Функция возвращает все от текущей даты, и если делать запрос для понедельника, например, в среду, то нужно так:
<?
$day = strtotime("last Monday");
|
А вот для среды и последующие за ним, просто день указывать. | |
|
|
|
|
|
|
|
для: __Андрей__
(22.12.2008 в 00:29)
| |
<?php
$n = date("N", $day); // день недели
if ( $n > 1 ) print date("d.m.Y H:i:s (l)", strtotime("-".($n - 1)." day"));
|
| |
|
|
|
|
|
|
|
для: __Андрей__
(22.12.2008 в 00:29)
| | я бы не стал полагаться на strtotime (всё же, она достаточно эвристична, помимо явных ошибок) а вычислил последовательно:
а) таймштамп текущего полудня, и танцевал бы от него (это чтобы убрать daylight-броски )
б) номер дня недели
в) таймштамп полудня первого дня недели
г) таймштамп полудня нужного дня недели
Надеюсь, как это делать по пунктам, пояснять не требуется. | |
|
|
|