Function Date

Function Date

am 22.04.2008 16:08:55 von SOLVER

Hi,

I can't figure out why this is not working propelly:

date("d.m.Y",strtotime("05/03/2008 00:00:00")); result: 03.05.2008
date("d.m.Y",strtotime("18/05/2008 00:00:00")); result: 05.06.2009
(From where this come from?)

What I'm doing wrong?

Best regards,
Mariusz

Re: Function Date

am 22.04.2008 16:30:10 von Captain Paralytic

On 22 Apr, 14:08, SOLVER wrote:
> Hi,
>
> I can't figure out why this is not working propelly:
>
> date("d.m.Y",strtotime("05/03/2008 00:00:00")); result: 03.05.2008
> date("d.m.Y",strtotime("18/05/2008 00:00:00")); result: 05.06.2009
> (From where this come from?)
>
> What I'm doing wrong?
>
> Best regards,
> Mariusz

The manual explains it. Try
date("d.m.Y",strtotime("2008-05-18 00:00:00"))

Re: Function Date

am 22.04.2008 16:44:03 von Charles Calvert

On Tue, 22 Apr 2008 07:08:55 -0700 (PDT), SOLVER
wrote in
:

>I can't figure out why this is not working propelly:
>
>date("d.m.Y",strtotime("05/03/2008 00:00:00")); result: 03.05.2008
>date("d.m.Y",strtotime("18/05/2008 00:00:00")); result: 05.06.2009

From :

"The function expects to be given a string containing a US English
date format..." The U.S. format is "MM/DD/YYYY", while the European
formation is "DD/MM/YYYY".

Assuming that the first date is March 5, 2008, then you should write:

strtotime("3/5/2008 00:00:00");

The second should be:

strtotime("5/18/2008 00:00:00");

Check out some of the comments on that page for information regarding
European formats.
--
Charles Calvert | Software Design/Development
Celtic Wolf, Inc. | Project Management
http://www.celticwolf.com/ | Technical Writing
(703) 580-0210 | Research

Re: Function Date

am 22.04.2008 17:06:25 von Captain Paralytic

On 22 Apr, 14:44, Charles Calvert wrote:
> On Tue, 22 Apr 2008 07:08:55 -0700 (PDT), SOLVER
> wrote in
> :
>
> >I can't figure out why this is not working propelly:
>
> >date("d.m.Y",strtotime("05/03/2008 00:00:00")); result: 03.05.2008
> >date("d.m.Y",strtotime("18/05/2008 00:00:00")); result: 05.06.2009
>
> From :
>
> "The function expects to be given a string containing a US English
> date format..."
But it goes on to say:
The string to parse, according to the GNU =BB Date Input Formats
syntax.
http://www.gnu.org/software/tar/manual/html_node/tar_113.htm l
Which rather contradicts the statement that you quoted.

Re: Function Date

am 22.04.2008 17:27:49 von hellsop

On Tue, 22 Apr 2008 07:08:55 -0700 (PDT), SOLVER wrote:
> Hi,
>
> I can't figure out why this is not working propelly:
>
> date("d.m.Y",strtotime("05/03/2008 00:00:00")); result: 03.05.2008

This is correct.

> date("d.m.Y",strtotime("18/05/2008 00:00:00")); result: 05.06.2009

This is day 5 of month 18 of 2008, or 18-12=6 month of 2009.

> (From where this come from?)
>
> What I'm doing wrong?

Not knowing that strtotime is expecting en_us format date, per manual.

http://us3.php.net/strtotime

--
Every fleeting thought you've ever had in your life, no matter how bizarre,
is someone's lifelong obsession. And he has a website.
-- Skif's Internet Theorem

Re: Function Date

am 22.04.2008 17:32:53 von hellsop

On Tue, 22 Apr 2008 08:06:25 -0700 (PDT), Captain Paralytic wrote:
> On 22 Apr, 14:44, Charles Calvert wrote:
>> On Tue, 22 Apr 2008 07:08:55 -0700 (PDT), SOLVER
>> wrote in
>> :
>>
>> >I can't figure out why this is not working propelly:
>>
>> >date("d.m.Y",strtotime("05/03/2008 00:00:00")); result: 03.05.2008
>> >date("d.m.Y",strtotime("18/05/2008 00:00:00")); result: 05.06.2009
>>
>> From :
>>
>> "The function expects to be given a string containing a US English
>> date format..."
> But it goes on to say:
> The string to parse, according to the GNU » Date Input Formats
> syntax.
> http://www.gnu.org/software/tar/manual/html_node/tar_113.htm l
> Which rather contradicts the statement that you quoted.

The only relevant port of that URL is the calendar dates, shown at
http://www.gnu.org/software/tar/manual/html_node/tar_115.htm l#SEC115

None of those have numerical days followed by numerical months. All of
the day-first formats have alpha months. So while it points to differnt
things, for this particular case, the two sections do not contradict.
(I'm not going to address all the other possible contradictions because
those would kill any productivity I may have for the rest of the day...)

--
Graham's First Rule of Internet Retailing:
If your 'shopping cart' site requires anything more complex than
HTML, SSL and a session cookie, at least one of your competitors
will run a site which does not. Your competitor will get the sale.

Re: Function Date

am 22.04.2008 17:54:25 von luiheidsgoeroe

On Tue, 22 Apr 2008 16:30:10 +0200, Captain Paralytic =

wrote:

> On 22 Apr, 14:08, SOLVER wrote:
>> Hi,
>>
>> I can't figure out why this is not working propelly:
>>
>> date("d.m.Y",strtotime("05/03/2008 00:00:00")); result: 03.05.2008
>> date("d.m.Y",strtotime("18/05/2008 00:00:00")); result: 05.06.2009
>> (From where this come from?)
>>
>> What I'm doing wrong?
>>
>> Best regards,
>> Mariusz
>
> The manual explains it. Try
> date("d.m.Y",strtotime("2008-05-18 00:00:00"))

Indeed. Some insight: dd/dd/dddd is assumed to be mm/dd/yyyy (crazy =

Americans...). 2008-18-05 obviously doesn't exist, 18 - 12 =3D 6, 2008 +=
1 =3D =

9, hence 2009-06-05.
-- =

Rik Wasmus

Re: Function Date

am 22.04.2008 18:26:59 von Charles Calvert

On Tue, 22 Apr 2008 08:06:25 -0700 (PDT), Captain Paralytic
wrote in
:

>On 22 Apr, 14:44, Charles Calvert wrote:
>> On Tue, 22 Apr 2008 07:08:55 -0700 (PDT), SOLVER
>> wrote in
>> :
>>
>> >I can't figure out why this is not working propelly:
>>
>> >date("d.m.Y",strtotime("05/03/2008 00:00:00")); result: 03.05.2008
>> >date("d.m.Y",strtotime("18/05/2008 00:00:00")); result: 05.06.2009
>>
>> From :
>>
>> "The function expects to be given a string containing a US English
>> date format..."
>
>But it goes on to say:
>The string to parse, according to the GNU » Date Input Formats
>syntax.
>http://www.gnu.org/software/tar/manual/html_node/tar_113.ht ml
>Which rather contradicts the statement that you quoted.

I don't think it does. If you check the referenced information and
look at the accepted formats
,
YYYY-MM-DD and MM/DD/YYYY are both listed as acceptable, but
DD/MM/YYYY is not.

I agree that the statement in the php docs would seems to imply that
it might accept other conventions, but as I read the GNU docs, it
doesn't, at least with numeric months. Did I miss something?

--
Charles Calvert | Software Design/Development
Celtic Wolf, Inc. | Project Management
http://www.celticwolf.com/ | Technical Writing
(703) 580-0210 | Research

Re: Function Date

am 23.04.2008 11:57:23 von Captain Paralytic

On 22 Apr, 16:26, Charles Calvert wrote:
> On Tue, 22 Apr 2008 08:06:25 -0700 (PDT), Captain Paralytic
> wrote in
> :
>
>
>
> >On 22 Apr, 14:44, Charles Calvert wrote:
> >> On Tue, 22 Apr 2008 07:08:55 -0700 (PDT), SOLVER
> >> wrote in
> >> :
>
> >> >I can't figure out why this is not working propelly:
>
> >> >date("d.m.Y",strtotime("05/03/2008 00:00:00")); result: 03.05.2008
> >> >date("d.m.Y",strtotime("18/05/2008 00:00:00")); result: 05.06.2009
>
> >> From :
>
> >> "The function expects to be given a string containing a US English
> >> date format..."
>
> >But it goes on to say:
> >The string to parse, according to the GNU =BB Date Input Formats
> >syntax.
> >http://www.gnu.org/software/tar/manual/html_node/tar_113.ht ml
> >Which rather contradicts the statement that you quoted.
>
> I don't think it does. If you check the referenced information and
> look at the accepted formats

I don't see how you can say "I don't think it does."
The part of he page which you (quite correctly) quoted says:
"The function expects to be given a string containing a US English
date format..."

However, it then goes on to say that it will accept other (non-US
English) formats. Thus it does not expect a US English format, rather
it expects any of the formats listed on the linked page.

Re: Function Date

am 23.04.2008 20:07:57 von Charles Calvert

On Wed, 23 Apr 2008 02:57:23 -0700 (PDT), Captain Paralytic
wrote in
:

>On 22 Apr, 16:26, Charles Calvert wrote:
>> On Tue, 22 Apr 2008 08:06:25 -0700 (PDT), Captain Paralytic
>> wrote in
>> :
>>
>> >On 22 Apr, 14:44, Charles Calvert wrote:
>> >> On Tue, 22 Apr 2008 07:08:55 -0700 (PDT), SOLVER
>> >> wrote in
>> >> :
>>
>> >> >I can't figure out why this is not working propelly:
>>
>> >> >date("d.m.Y",strtotime("05/03/2008 00:00:00")); result: 03.05.2008
>> >> >date("d.m.Y",strtotime("18/05/2008 00:00:00")); result: 05.06.2009
>>
>> >> From :
>>
>> >> "The function expects to be given a string containing a US English
>> >> date format..."
>>
>> >But it goes on to say:
>> >The string to parse, according to the GNU » Date Input Formats
>> >syntax.
>> >http://www.gnu.org/software/tar/manual/html_node/tar_113.ht ml
>> >Which rather contradicts the statement that you quoted.
>>
>> I don't think it does. If you check the referenced information and
>> look at the accepted formats
>
>I don't see how you can say "I don't think it does."
>The part of he page which you (quite correctly) quoted says:
>"The function expects to be given a string containing a US English
>date format..."
>
>However, it then goes on to say that it will accept other (non-US
>English) formats. Thus it does not expect a US English format, rather
>it expects any of the formats listed on the linked page.

Ah, now I understand your point. Thank you for clarifying it for me.
You're quite correct that it will accept formats other than
MM/DD/YYYY, and that some of those formats are not in normal use in
the U.S.

I thought that you were saying that the statement regarding GNU Date
Input Formats implied that it should accept DD/MM/YYYY.
--
Charles Calvert | Software Design/Development
Celtic Wolf, Inc. | Project Management
http://www.celticwolf.com/ | Technical Writing
(703) 580-0210 | Research