CONVERSION OF A STRING TO THE DESIRED DATE FORMAT USING PHP

  1. Strtotime:

Strtotime function will be helpful only if the string is in the following format.

$date=”31-01-2016″; // Assuming  the string to be Jan 31, 2016

date(“Y-M-d”, strtotime ($date));

Result: 2016-Jan-31

$date=”01-31-2016″; // Assuming  the string to be Jan 31, 2016

date(“Y-M-d”, strtotime ($date));

Result: 1970-Jan-01

Strtotime fails to help in this scenario.

2. Mktime:

Using mktime, we can achieve the desired format as follows:

Syntax: $time=mktime(hour,minute,second,month,day,year,is_ds);

Example:

$time=mktime(0,0,0,01,31,2016,0);

date(‘Y-M-d’,$time);

Result: 2016-Jan-31

However, you cannot explode the string and pass the values in the corresponding places as it lengthens coding and execution time.

3. DateTime::createFromFormat

$date1=”01-31-2016”;

$date = DateTime::createFromFormat(‘m-d-Y’, $date1);// I am assuming that my string is in m-d-Y format

$date->format(‘Y-m-d’); 

Result: 2016-Jan-31

If my string is in d-m-Y format:

$date = DateTime::createFromFormat(‘d-m-Y’, $date1);// I am assuming that my string is in m-d-Y format

$date->format(‘Y-m-d’); 

Result: 2016-Jan-31

Unlike strtotime, the above helps in all scenarios and thus proves effective.

Posted in PHP

Leave a comment