Como você preserva o fuso horário de uma data JavaScript do navegador para o servidor e vice-versa?

Por exemplo, usando um controle de data e hora, o usuário seleciona uma data e hora, de forma que a representação de string seja a seguinte:

"6-25-2012 12:00:00 PM"

Acontece que esse usuário está no fuso horário do EST. A seqüência de caracteres é passada para o servidor, que o converte em um objeto .NET DateTime e, em seguida, armazena-o no SQL Server em uma coluna datetime.

Quando a data é retornada mais tarde para o navegador, ela precisa ser convertida novamente em uma data, no entanto, quando a string acima é inserida em uma data, ela está perdendo 4 horas. Acredito que isso ocorra porque, quando não se especifica um fuso horário durante a criação de uma data JavaScript, o padrão é o horário local e, como o EST é de -400 do GMT, ele subtrai 4 horas a partir das 12h, embora essas 12 horas tenham sido especificadas como EST o usuário o selecionou em uma máquina no fuso horário EST.

Claramente, algo precisa ser adicionado à string de data e hora original antes de sua passagem para o servidor ser persistida. Qual é a maneira recomendada de fazer isso?

questionAnswers(4)

yourAnswerToTheQuestion