Jump to content

[SOLVED] strtotime function anomaly


tqla

Recommended Posts

Maybe it's my server but strtotime() is returning a funky result for dates with high years.

 

This returns the correct format of "01-01-2010"

<?php
$originalDate = '2010-01-01';
$date = date("m-d-Y", strtotime($originalDate));
echo $date; // prints 01-01-2010
?>

 

However, this returns "12-31-1969"

<?php
$originalDate = '2050-01-01';
$date = date("m-d-Y", strtotime($originalDate));
echo $date; // prints 12-31-1969
?>

 

Can somebody shed some light on this? Thanks.

 

Using PHP 5.2.8

Link to comment
https://forums.phpfreaks.com/topic/139723-solved-strtotime-function-anomaly/
Share on other sites

Ah 1969, a very good year...

 

Note: The valid range of a timestamp is typically from Fri, 13 Dec 1901 20:45:54 UTC to Tue, 19 Jan 2038 03:14:07 UTC. (These are the dates that correspond to the minimum and maximum values for a 32-bit signed integer.) Additionally, not all platforms support negative timestamps, therefore your date range may be limited to no earlier than the Unix epoch. This means that e.g. dates prior to Jan 1, 1970 will not work on Windows, some Linux distributions, and a few other operating systems. PHP 5.1.0 and newer versions overcome this limitation though.

 

From strtotime

 

Although you are using 5.2, your system can be preventing it, if your system does not support greater than 2038 that function will not support it.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.