Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Por que minha data do mysql está diminuindo em um dia em javascript?


O Z significa "deslocamento de hora zero", também conhecido como "horário Zulu" (UTC). Quando você está consultando a data do banco de dados, há dois cenários possíveis de que a data seja alterada, seja na camada do banco de dados ou na camada do aplicativo, ajustando-a ao fuso horário em que você está.

Assim, por exemplo, se a configuração do banco de dados economizar tempo automaticamente para UTC quando você obtiver os dados reais, eles serão convertidos para o fuso horário atual. Mas, a partir do seu exemplo, 2016-12-20 é convertido em 2016-12-19T23:00:00.000Z, estou assumindo que a configuração do banco de dados na data está salvando-o em um determinado fuso horário e convertendo-o para UTC.

Para corrigi-lo, tente ajustar a lógica do aplicativo ou a configuração do banco de dados, para mim, prefiro fazê-lo no nível do aplicativo e manter a data no banco de dados para salvar em UTC.

Tente isso para ver a diferença e pode lhe dar dicas sobre como resolver seu problema:
var currentDate = new Date();
var isoDate = currentDate.toISOString();
console.log(currentDate, isoDate);