私は mongoose を使用します。 これは私が定義したスキーマです:
これは私が保存したデータです:
mongodb に保存した後、保存時間は 8 時間早くなります: 「1995 年 12 月 17 日午前 3 時」は「12 月 16 日午前 7 時」になります。 「今日の夕方です。タイムゾーンが間違っています。この状況ではどうすればよいですか?」 mongodbやmongooseに対応する処理方法はありますか?
よろしくお願いします、兄弟!
mongodb は世界的に統一された UTC 時刻を保存していることがわかり、それを読み出した後、時刻を new Date(report.datetime).toLocaleString() に追加して直接保存します。組み込みの Just Date().toLocaleString() が機能します
mongoose と sequelize は開始時にタイム ゾーンを考慮しておらず、後で ORM が間違ったタイム ゾーンを取得したためです。解決策は、最新バージョンで解決されているかどうかを確認することです。まだ解決されていない場合は、問題を作成者に送信して、+8 時間かけて書き込み、読み取りを行うだけです。 8.
getTimezoneOffset() メソッドは、グリニッジ時間と現地時間の時差を分単位で返します。
UNIXタイムスタンプとして保存しておけば、取り出すときはタイムゾーンに合わせて変換処理するだけで問題ありません
ISO時間を新しい日付に戻すだけです。新しい日付を設定すると、保存されたISO標準時間は自動的にローカルタイムゾーンに変換されます
上記のクラスメートが言ったように、ISO 形式を使用してください: new Date("2017-03-02T08:00:00+08:00")
または
moment.jsの使用
ご参考までに。
MongoDB が大好きです!楽しむ!
タイムスタンプを保存してみることができます
mongodb は世界的に統一された UTC 時刻を保存していることがわかり、それを読み出した後、時刻を new Date(report.datetime).toLocaleString() に追加して直接保存します。組み込みの Just Date().toLocaleString() が機能します
mongoose と sequelize は開始時にタイム ゾーンを考慮しておらず、後で ORM が間違ったタイム ゾーンを取得したためです。解決策は、最新バージョンで解決されているかどうかを確認することです。まだ解決されていない場合は、問題を作成者に送信して、+8 時間かけて書き込み、読み取りを行うだけです。 8.
UNIXタイムスタンプとして保存しておけば、取り出すときはタイムゾーンに合わせて変換処理するだけで問題ありません
ISO時間を新しい日付に戻すだけです。新しい日付を設定すると、保存されたISO標準時間は自動的にローカルタイムゾーンに変換されます
上記のクラスメートが言ったように、ISO 形式を使用してください: new Date("2017-03-02T08:00:00+08:00")
または
moment.jsの使用
ご参考までに。
MongoDB が大好きです!楽しむ!
タイムスタンプを保存してみることができます