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"));
}