Monday, October 10, 2016

Useful PHP Time functions

Create date string which adds 30 days from current date
strtotime('today' + '90 days')
date("Y-m-d", strtotime("+30 days")


Create DateTime object from date string
new_expiry_date = strtotime(date("Y-m-d", strtotime("+30 days")));

Convert DateTime to MongoDate
new MongoDate($new_expiry_date);

 //Adding days to mongodate  
 function add_days_mongodate($mongo_date, $days)  
 {  
   $expiry_date = strtotime(date("d-m-Y H:i:s", $mongo_date->sec));  
   $new_expiry_date = $expiry_date + ($days * 24 * 60 * 60); //Add 30 Days  
   return $new_expiry_date;  
 }  
 function convert_string_to_mongodate($date)  
 {  
   $carbon_date = Carbon::createFromFormat('d/m/Y', $date);  
   $mongo_date = new MongoDate(strtotime($carbon_date->toDateString()));  
   return $mongo_date;  
 }  
 // Calculate date from two datetime  
 function days_between($str_date1, $str_date2)  
 {  
   //Get 1 day in milliseconds  
   $one_day = 1000 * 60 * 60 * 24;  
   $date1 = strtotime($str_date1);  
   $date2 = strtotime($str_date2);  
   $difference = $date1 - $date2;  
   $days = $difference/$one_day;  
   return $days;  
 }  
 // Calculate hours from two datetime  
 function hours_between($str_date1, $str_date2)  
 {  
   $date1 = strtotime($str_date1);  
   $date2 = strtotime($str_date2);  
 //  Log::info($date1);  
 //  Log::info($date2);  
   $difference = $date1 - $date2;  
   $hours = $difference/3600;  
   Log::info($hours);  
   return $hours;  
 }  
 //Format mongo date to displayable date string  
 function parse_mongo_date($mongo_date)  
 {  
 //  $mongo_date == null  
   if(is_a($mongo_date, 'MongoDate'))  
     $new_date =date('d-m-Y H:i:s',$mongo_date->sec);  
   else  
     $new_date = $mongo_date;  
   return $new_date;  
 }  
 function convert_to_mongo_date($date)  
 {  
   return new MongoDate(strtotime(date(DATE_ISO8601, $date->sec)));  
 //  new MongoDate(strtotime(date(DATE_ISO8601, $mongo_date->sec) - "30 days"));  
 }  
 function get_mongo_date_from_string($str_date)  
 {  
   $mongo_date = new MongoDate();  
   if(isset($str_date)) {  
     $carbon_date = Carbon::createFromFormat('d/m/Y', $str_date);  
     $mongo_date = new MongoDate(strtotime($carbon_date->toDateString()));  
   }  
   return $mongo_date;  
 //  new MongoDate(strtotime(date(DATE_ISO8601, $mongo_date->sec) - "30 days"));  
 }  

No comments:

Post a Comment