sql >> Databáze >  >> RDS >> Mysql

Proč se moje datum z mysql v javascriptu snižuje o jeden den?

Z znamená „posunutí nulové hodiny“ také známé jako „čas Zulu“ (UTC). Když se dotazujete na datum z databáze, existují dva možné scénáře, kdy se datum změní, buď v databázové vrstvě, nebo na aplikační vrstvě a přizpůsobí se časovému pásmu, ve kterém se nacházíte.

Pokud tedy například nastavení databáze automaticky uloží čas do UTC, když získáte aktuální data, bude převedena do vašeho aktuálního časového pásma. Ale z vašeho příkladu je 2016-12-20 převedeno na 2016-12-19T23:00:00.000Z, pak předpokládám, že vaše databázové nastavení jej uloží v určitém časovém pásmu a poté jej převede na UTC.

Chcete-li to opravit, zkuste upravit svou aplikační logiku nebo nastavení databáze, pro mě to raději dělám na úrovni aplikace a v DB udržuji datum, které se má uložit do UTC.

Vyzkoušejte toto, abyste viděli rozdíl a mohlo by vám pomoci vyřešit váš problém:

var currentDate = new Date();
var isoDate = currentDate.toISOString();
console.log(currentDate, isoDate);



  1. Soubor MySql mysql.h nebyl nalezen ve VS2008 C++ <Otázka pro začátečníky>

  2. Jak získat seznam databází?

  3. Jak vložit hodnoty do tabulky s cizím klíčem pomocí MySQL?

  4. Jak změnit datum mysql na Ago v php