Jump to content
Sign in to follow this  
Prodjex

PHP DateTime Class and Functions

Recommended Posts

With PHP 5 they introduced the DateTime class.  Prior to that everyone used strtotime, date, etc…commands to achieve the same results.  I was a late adopter and continued to use the old commands.  Recently I decided it’s been long enough and it’s time to take a look at this new class and apply it.

This example is a simple how to on showing the difference between two dates in day format.

So my start date here is 2016-05-04 10:20:42 as it’s stored in the MySQL timestamp field of my database.  The end date is another date in the same format of YYYY-MM-DD HH:MM:SS.

My first attempt mixed some of the old and new functions together to get my result.

$reg_temp = strtotime('2016-05-04 10:20:42');
$registration_date = date("Y-m-d", $reg_temp);
$exp_temp = strtotime('2017-05-04 10:20:42');
$expiration_date = date("Y-m-d", $exp_temp);

$registration_date = date_create($registration_date);
$expiration_date = date_create($expiration_date);

$diff=date_diff($registration_date,$expiration_date);
echo $diff->format("%R%a days");

While it did get me the end result, that’s a lot of code to accomplish what I want.  And I also want to force myself to only use the new DateTime class.  After a few more iterations I came up with this that does the same job in 4 nice and clean lines of code:

$registration_date = date_create('2016-05-04 10:20:42'); //Replace static date with your database field
$expiration_date = date_create('2017-05-04 10:20:42'); //Replace static date with your database field

$diff=date_diff($registration_date,$expiration_date);
echo $diff->format("%R%a days");

Much better.  You can see the demo output here.

The post PHP DateTime Class and Functions appeared first on Kansas City Web Consulting | Kansas City Web Development.

View the full article

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...