Trabalhar com timezones

Olá,
Minha aplicação está em um servidor no Canadá (timezone -5). Como devo proceder para que o horário que aparece no programa sempre seja o mesmo, considerando que o usuário pode ora estar no Brasil, ora na Europa? Qual seria a melhor maneira de gravar a data no banco de dados?