Here's the problem: Let's say I have an ISO8601 standard timestamp, for argument's sake, "2003-05-31T13:30:00", and I run that timestamp through a PHP function, strtotime(). This is what happens:

1:30 PM Saturday 31 May 2003 - 2003-05-31T13:30:00

You tell me why that's not half past one.

Here's the current server time:

11:45 AM Friday 29 March 2024 - 1711712718

UPDATE: Problem solved!

Removing the "T" from the timestamp fixes the problem. I don't know why but considering the T is a required part of the ISO standard for dates and times I think PHP should be correcting their function. However it seems to work without the T :-)

Using "2003-05-31 13:30:00":

1:30 PM Saturday 31 May 2003 - 2003-05-31 13:30:00


12:00 AM Thursday 1 January 1970 -

Timestamp used: 2003-12-25 23:30:00

11:30 PM Thursday 25 December 2003 - 2003-12-25 23:30:00

6:30 AM Friday 26 December 2003 - 2003-12-25 23:30:00 +7 hours

12:00 AM Thursday 1 January 1970 - 2003-12-25 23:30:00 seconds

4:30 AM Friday 26 December 2003 - 2003-12-25 23:30:00 +5 hours

6:30 PM Thursday 25 December 2003 - 2003-12-25 23:30:00 -05 hours

11:30 PM Thursday 25 December 2003 - 2003-12-25 23:30:00

11:30 PM Thursday 25 December 2003 - 2003-12-25 23:30:00

11:30 PM Thursday 25 December 2003 - 2003-12-25 23:30:00

11:30 PM Thursday 25 December 2003 - 2003-12-25 23:30:00Z

11:30 PM Thursday 25 December 2003 - 2003-12-25 23:30:00 Z

6:30 AM Friday 26 December 2003 - 1072420200

7:30 AM Friday 26 December 2003 - 1072423800

8:30 AM Friday 26 December 2003 - 1072427400

11:30 PM Thursday 25 December 2003 - 1072395000

11:15 AM Saturday 23 March 2058 - 2784107718

Mar 29 2024 11:45 UTC

12:00 PM Friday 29 March 2024 - 12:00:00Z

12:00 AM Saturday 30 March 2024 - 24:00:00Z

12:00 AM Friday 29 March 2024 - 00:00:00Z

12:00 AM Wednesday 1 January 2003 - 2003-01-01 00:00:00Z