I want to display $row->depositdate in dd-mm-yyyy format.
If the date column in database is null the date displayed is : 01-01-1970
echo "<td align=center>".date('d-m-Y', strtotime($row->depositdate))."</td>";
If the date is null in database it should display nothing , otherwise the date in dd-mm-yyyy format should be displayed.
Thanks in advance
Sandeep
You need to check if $row->depositdata is_null previously or check for 0 after strtotime if the value of $row->depositdata is unrecognizable for strtotime.
strtotime expects to be given a string containing an English date format and will try to parse that format into a Unix timestamp (the number of seconds since January 1 1970 00:00:00 UTC), relative to the timestamp given in now, or the current time if now is not supplied.
more about unixtime and Y2K38 problem: http://en.wikipedia.org/wiki/Year_2038_problem
Oh! I know why this happens? Simply you have not included "depositdate" in your SELECT query. Firstly Change SQL query to select all with wild card sign as shown here
NULL is interpreted as 0 by strtotime, since it want to be passed an integer timestamp. A timestamp of 0 means 1-1-1970.
So you'll have to check for yourself if
$row->depositdate === NULL
, and if so, don't call strtotime at all.NULL
is converted to 0 - the epoch (1-1-1970)Do this instead