I would definitely get that code out of the DB. You want to store data all in a common set of units whenever you can. Having your time data stored for one specific locale (usually your own) is common.
I wouldn't put it in the business tier either, because then you'll run into situations where you have to do calculations using times from different locales, and you'll need them to have the same starting reference. Again, you should leave them all at a common base, and the most logical thing here is to just let that base be whatever locale you're storing them in.
I think the most logical thing to do is to have time converted to the user's locale at the last possible moment, right before you display it. This puts it firmly in the GUI layer.