Absolutely yes, formatting happens in the Presentation Layer. Right up until that point you hold the data in whatever internal format makes most sense - for dates, that might be as a DATETIME or equivalent, or as a binary representation; whatever is best for sorting, storage, etc.
You don't turn it into anything that actually looks like a date until it needs to be displayed (or otherwise output in Human-readable form) at which point you convert it and apply any regional or customised formatting attributes.
Those attributes are essentially your 'formatting string', and you'd store those in the database (if centralised) or maybe the local configuration file on the users' PC. Personally, I tend to keep 'standard' or 'common' default rules in the database, and then add user-specific or region-specific overrides at the point of display.