Jump to content

[SOLVED] Date Formatting


Fearpig

Recommended Posts

Hi Guys, I'm probably being thick here but I have a weird problem. I'm using the following line to format dates from an SQL database:

 

$Format_Start_Date = date("d/m/Y",strtotime("$Start_Date"));	

 

This correctly formats my dates into dd/mm/YYYY but when it gets to a blank record it puts in 01/01/1970...?

 

Any ideas as this is baffling me!

Cheers, Tom

Link to comment
https://forums.phpfreaks.com/topic/45730-solved-date-formatting/
Share on other sites

This note is on the strtotime manual page:

Note:  The valid range of a timestamp is typically from Fri, 13 Dec 1901 20:45:54 GMT to Tue, 19 Jan 2038 03:14:07 GMT. (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.

 

If the above applies to you, that's what's happening.

 

Ken

Put an "if" statement before your conversion or use the ternary operator (scroll down):

<?php
if ($Start_Date != '')
   $Format_Start_Date = date("d/m/Y",strtotime($Start_Date));
else
   $Format_Start_Date = '';
?>

or

<?php
$Format_Start_Date = ($Start_Date != '')?date("d/m/Y",strtotime($Start_Date)):'';
?>

 

Ken

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.