/** * _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; }