Re: date() and strtotime()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jul 11, 2008 at 9:03 AM, Fabian Frei <fabian.frei@xxxxxxxxxxx>
wrote:

> Hello everybody,
>
> I hope you all have a nice day, mines not that good 'cause i have
> encountered a strange problem.
>
> i have a few functions to work with dates. they are all very simple, a few
> lines of code.
> this first one does just gives you the monday of the current week:
>
> function get_monday($date) {
>
>                $input_date = strtotime($date);
>                $date_array = date_parse(date('r',$input_date));
>                $get_sunday = 7 - $date_array['relative']['weekday'];
>
>                $day_label = date("D, d.m.y",mktime(0, 0, 0, date("m")  ,
> date("d")+$get_sunday, date("Y")));
>                $new_day_label = strtotime($day_label);
>                $monday = date("D, d.m.y",mktime(0, 0, 0,
> date("m",$new_day_label)  , date("d",$new_day_label)-6,
> date("Y",$new_day_label)));
>
>                return($monday);
>
>                }
>
> now for testing purpose we say today is friday, 11.07.2008, this function
> returns correct Mon, 07.07.08.
> now the problems lies in the second function or more in strtotime.
> this second function just takes the inputed date and does some formating so
> it will fit into
> the mysql db or query.
>
> function get_mysql_date($date) {
>
>                $old_date = strtotime($date);
>                $new_date = date("Y-m-d",$old_date);
>
>                return($new_date);
>        }
>
> But now the strange thing happening is, this function outputs '2008-07-14'
> which is monday of the next week.
> now i think the problems lies somewhere in strtotime(), cause if i do this:
>
> $dateForTable = $date_class->get_monday($today);
> $dateTest =strtotime($dateForTable);
> $dateTest2 =date('r',$yousuck);
>
> it will also output 'Mon, 14 Jul 2008 07:07:08 +0200'.
>
> i think strtotime() takes just the first part 'Mon' and looks what date the
> next monday is.
> i'm realtivly new to php so any help solving this problem will be greatly
> appreciated.
>
> thanks alot to all.
>
> greetings from switzerland
> ------------------------
> Fabian Frei
> fabian.frei@xxxxxxxxxxx
> fon: 071-390 04 35
> mobile: 079-733 45 27
> ------------------------
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
function get_monday()
{
  return date("Y-m-d", strtotime("last monday"));
}

function get_mysql_date()
{
  return date("Y-m-d");
}

would seem to be much simpler

-- 

Bastien

Cat, the other other white meat

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux