Re: Sniping on the List
| From: | Tedd Sperling | Date: | Thu, 17 Nov 2011 16:01:19 +0000 |
| Subject: | Re: Sniping on the List | ||
| References: | 1 2 3 4 5 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-315722@lists.php.net to get a copy of this message | ||
On Nov 15, 2011, at 2:54 PM, Steven Staples wrote:
>> <tamouse.lists@gmail.com> sent:
>>> <tedd.sperling@gmail.com> wrote:
>>>> PS: I know it's not Friday, but this question came up in class
>>>> yesterday and I thought maybe all of you might like to guess why
>>>> null is Wednesday?
>>>
>>> Wait.. What??
>>>
>>> $ php -r 'echo date("l",NULL),"\n";'
>>> Wednesday
>>>
>>> Cos:
>>>
>>> $ php -r 'echo date("r",NULL),"\n";'
>>> Wed, 31 Dec 1969 18:00:00 -0600
>>>
>>> (Personally, I would have thought Thursday should be NULL, but that's
>>> just me. And Thursday.)
>>
>> Actually, It *is* Thursday if you use UTC:
>>
>> $ TZ=UTC php -r 'echo date("r",NULL),"\n";'
>> Thu, 01 Jan 1970 00:00:00 +0000
>>
>> :P
>
> Perfect example of Tedd's last comment about being proven wrong (even though TECHNICALLY
> it isn't)
>
> Good job :)
To all:
Okay, so now that we have had people reply, here's my take.
The Unix timestamp started on 01 Jan 1970 00:00:00 +0000 -- and that was a Thursday.
The second before (i.e., 31 December, 1969 23:59:59:59 + 0000) was null, which was Wednesday.
Now one might argue that everything before was null and I could accept that. But here's my code
and reasoning, please follow:
$string = null;
$seconds = strtotime($string); // change string into seconds
date = getdate($seconds); // change seconds into a date
$computedDate = $date['mday'] . ' ' . $date['month'] . ', '
. $date['year'] . ' : ' .$date['weekday'];
echo($computedDate); // show date
Thus, null is Wednesday.
Now, why is this wrong?
Cheers,
tedd
_____________________
tedd@sperling.com
http://sperling.com