/**
  * 	_set_date_time_field
  *
  * 	modifies EE_Base_Class EE_Datetime_Field objects
  *
  * @param  EE_Base_Class 	$obj 	EE_Base_Class object
  * @param 	DateTime 			$DateTime 		PHP DateTime object
  * @param  string					$datetime_field_name 	the datetime fieldname to be manipulated
  * @return 	EE_Base_Class
  */
 protected static function _set_date_time_field(EE_Base_Class $obj, DateTime $DateTime, $datetime_field_name)
 {
     // grab current datetime format
     $current_format = $obj->get_format();
     // set new full timestamp format
     $obj->set_date_format(EE_Datetime_Field::mysql_date_format);
     $obj->set_time_format(EE_Datetime_Field::mysql_time_format);
     // set the new date value using a full timestamp format so that no data is lost
     $obj->set($datetime_field_name, $DateTime->format(EE_Datetime_Field::mysql_timestamp_format));
     // reset datetime formats
     $obj->set_date_format($current_format[0]);
     $obj->set_time_format($current_format[1]);
     return $obj;
 }