By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
449,314 Members | 1,772 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 449,314 IT Pros & Developers. It's quick & easy.

Function Date

P: n/a
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
Jun 2 '08 #1
Share this Question
Share on Google+
9 Replies


P: n/a
On 22 Apr, 14:08, SOLVER <mari...@poplawski.org.ukwrote:
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"))
Jun 2 '08 #2

P: n/a
On Tue, 22 Apr 2008 07:08:55 -0700 (PDT), SOLVER
<ma*****@poplawski.org.ukwrote in
<f4**********************************@k37g2000hsf. googlegroups.com>:
>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 <http://us2.php.net/manual/en/function.strtotime.php>:

"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
Jun 2 '08 #3

P: n/a
On 22 Apr, 14:44, Charles Calvert <cb...@yahoo.comwrote:
On Tue, 22 Apr 2008 07:08:55 -0700 (PDT), SOLVER
<mari...@poplawski.org.ukwrote in
<f48512ab-77e6-4f34-a3e0-aad33f40d...@k37g2000hsf.googlegroups.com>:
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 <http://us2.php.net/manual/en/function.strtotime.php>:

"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/manu...e/tar_113.html
Which rather contradicts the statement that you quoted.
Jun 2 '08 #4

P: n/a
On Tue, 22 Apr 2008 16:30:10 +0200, Captain Paralytic
<pa**********@yahoo.comwrote:
On 22 Apr, 14:08, SOLVER <mari...@poplawski.org.ukwrote:
>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 = 6, 2008 +1 =
9, hence 2009-06-05.
--
Rik Wasmus
Jun 2 '08 #5

P: n/a
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
Jun 2 '08 #6

P: n/a
On Tue, 22 Apr 2008 08:06:25 -0700 (PDT), Captain Paralytic wrote:
On 22 Apr, 14:44, Charles Calvert <cb...@yahoo.comwrote:
>On Tue, 22 Apr 2008 07:08:55 -0700 (PDT), SOLVER
<mari...@poplawski.org.ukwrote in
<f48512ab-77e6-4f34-a3e0-aad33f40d...@k37g2000hsf.googlegroups.com>:
>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 <http://us2.php.net/manual/en/function.strtotime.php>:

"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/manu...e/tar_113.html
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/manu...15.html#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.
Jun 2 '08 #7

P: n/a
On Tue, 22 Apr 2008 08:06:25 -0700 (PDT), Captain Paralytic
<pa**********@yahoo.comwrote in
<ca**********************************@m73g2000hsh. googlegroups.com>:
>On 22 Apr, 14:44, Charles Calvert <cb...@yahoo.comwrote:
>On Tue, 22 Apr 2008 07:08:55 -0700 (PDT), SOLVER
<mari...@poplawski.org.ukwrote in
<f48512ab-77e6-4f34-a3e0-aad33f40d...@k37g2000hsf.googlegroups.com>:
>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 <http://us2.php.net/manual/en/function.strtotime.php>:

"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/manu...e/tar_113.html
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
<http://www.gnu.org/software/tar/manual/html_node/tar_115.html#SEC115>,
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
Jun 2 '08 #8

P: n/a
On 22 Apr, 16:26, Charles Calvert <cb...@yahoo.comwrote:
On Tue, 22 Apr 2008 08:06:25 -0700 (PDT), Captain Paralytic
<paul_laut...@yahoo.comwrote in
<ca815c6c-c98d-4e5d-acf4-9a0e41726...@m73g2000hsh.googlegroups.com>:
On 22 Apr, 14:44, Charles Calvert <cb...@yahoo.comwrote:
On Tue, 22 Apr 2008 07:08:55 -0700 (PDT), SOLVER
<mari...@poplawski.org.ukwrote in
<f48512ab-77e6-4f34-a3e0-aad33f40d...@k37g2000hsf.googlegroups.com>:
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 <http://us2.php.net/manual/en/function.strtotime.php>:
"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/manu...e/tar_113.html
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.
Jun 2 '08 #9

P: n/a
On Wed, 23 Apr 2008 02:57:23 -0700 (PDT), Captain Paralytic
<pa**********@yahoo.comwrote in
<f6**********************************@p25g2000hsf. googlegroups.com>:
>On 22 Apr, 16:26, Charles Calvert <cb...@yahoo.comwrote:
>On Tue, 22 Apr 2008 08:06:25 -0700 (PDT), Captain Paralytic
<paul_laut...@yahoo.comwrote in
<ca815c6c-c98d-4e5d-acf4-9a0e41726...@m73g2000hsh.googlegroups.com>:
>On 22 Apr, 14:44, Charles Calvert <cb...@yahoo.comwrote:
On Tue, 22 Apr 2008 07:08:55 -0700 (PDT), SOLVER
<mari...@poplawski.org.ukwrote in
<f48512ab-77e6-4f34-a3e0-aad33f40d...@k37g2000hsf.googlegroups.com>:
>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 <http://us2.php.net/manual/en/function.strtotime.php>:
>"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/manu...e/tar_113.html
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
Jun 2 '08 #10

This discussion thread is closed

Replies have been disabled for this discussion.