Update Closing Date Based on Other Date Field

Update Closing Date Based on Other Date Field

Hello, 

Is it possible for me to update the closing date field for an opportunity by setting a different date field?

For instance, my company has quotations that last 30 days, 45 days, and 90 days. If we set the stage to a 30 day Quotation, and set a custom field "Quote Date" as the day we send the quotation, is it possible to update the Closing Date automatically to 30 days after the Quote Date? 

I'm aware I could use Execution Date, but not all quotes go in the day they're sent so it wouldn't be ideal. 

Is this something I can do with a workflow rule, or do I need to write a function for it?