Question: ```
$somedate = "1980-02-15";
$otherdate = strtotime('+1 year', strtotime($somedate));
echo date('Y-m-d', $otherdate);

```

outputs

```
1981-02-15

```

and

```
$somedate = "1980-02-15";
$otherdate = strtotime('+2 year', strtotime($somedate));
echo date('Y-m-d', $otherdate); 

```

outputs

```
1982-02-15

```

but

```
$somedate = "1980-02-15";
$otherdate = strtotime('+75 year', strtotime($somedate));
echo date('Y-m-d', $otherdate); 

```

outputs

```
1970-01-01

```

How to fix?

Answer: 
It's the [2038 bug](http://www.2038bug.com/) which is like y2k where systems can't handle dates after that year due to 32 bit limitations. Use the [DateTime class](http://php.net/DateTime) instead which does work around this issue. 

**For PHP 5.3+**

```
$date = new DateTime('1980-02-15');
$date->add(new DateInterval('P75Y'));
echo $date->format('Y-m-d');

```

**For PHP 5.2**

```
$date = new DateTime('1980-02-15');
$date->modify('+75 year');
echo $date->format('Y-m-d');

```
75 years from 1980 is 2055, which is past the highest date value that can be represented in a 32-bit integer. Therefore the result becomes 0, which is the 1970 date you observe.