JavaScript Date.toJSON não obtém o deslocamento de fuso horário

Bem, o problema é que eu estava usando código assim:

new Date().toJSON().slice(0, 10)

para obter minha data comoYYYY-MM-DD string, então eu uso como parâmetro em algumas consultas mysql e em algumas instruções de condição. No final do dia eu não estava recebendo a data correta, uma vez que ainda estava no dia anterior (meu deslocamento de fuso horário é +2 / 3 horas).

Eu não notei que otoJSON O método não leva em conta o seu deslocamento de fuso horário, então acabei com essa solução hacky:

var today = new Date();
today.setHours( today.getHours()+(today.getTimezoneOffset()/-60) );
console.log(today.toJSON().slice(0, 10));

Existe uma solução mais elegante?

Aqui está o código de teste:http://jsfiddle.net/simo/qwhYw/JavaScriptMétodo toJSONJavaScriptObjeto de data

questionAnswers(2)

yourAnswerToTheQuestion