w3resource

PHP Date Exercises : Time difference in days and years, months, days, hours, minutes, seconds between two dates

PHP date: Exercise-11 with Solution

Write a PHP script to get time difference in days and years, months, days, hours, minutes, seconds between two dates.

Note : Use DateTime class.

Sample Solution:

PHP Code:

<?php
$date1 = new DateTime('2012-06-01 02:12:51');
$date2 = $date1->diff(new DateTime('2014-05-12 11:10:00'));
echo $date2->days.'Total days'."\n";
echo $date2->y.' years'."\n";
echo $date2->m.' months'."\n";
echo $date2->d.' days'."\n";
echo $date2->h.' hours'."\n";
echo $date2->i.' minutes'."\n";
echo $date2->s.' seconds'."\n";
?>

Sample Output:

710Total days                                               
1 years                                                     
11 months                                                   
10 days                                                     
8 hours                                                     
57 minutes                                                  
9 seconds

Flowchart :

Flowchart: Time difference in days and years, months, days, hours, minutes, seconds between two dates

PHP Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a PHP script to check whether the given dates are valid or not?
Next: Write a PHP script to change month number to month name.

What is the difficulty level of this exercise?



PHP: Tips of the Day

SQL injection that gets around mysql_real_escape_string()

Consider the following query:

$iId = mysql_real_escape_string("1 OR 1=1");    
$sSql = "SELECT * FROM table WHERE id = $iId";

mysql_real_escape_string() will not protect you against this. The fact that you use single quotes (' ') around your variables inside your query is what protects you against this. The following is also an option:

$iId = (int)"1 OR 1=1";
$sSql = "SELECT * FROM table WHERE id = $iId";

Ref : https://bit.ly/32q3bJ7