Domanda

Come un idiota, ho completamente trascurato l'impostazione del fuso orario, quando ho costruito un programma che raccoglie i dati datetime.

Non è stato un problema allora perché tutto quello che stavo facendo era "tempo da quando" il confronto e l'ordinamento di stile. Ora ho bisogno di fare rapporti completi che mostrano l'effettiva datetime e, naturalmente, sono tutti memorizzati in America / Chicago (il default Django ridicolo).

Quindi sì. Ho una base di dati di medie dimensioni piena di queste date che non sono corretti. Voglio cambiare settings.TIME_ZONE a 'UTC' ma che non aiuta il mio dati esistenti.

Qual è il migliore? (Leggi:, più veloce più facile) modo per convertire tutti i dati del modello in massa

(Tutti i dati sono da negli ultimi due mesi, quindi non c'è per fortuna non DST da convertire)

Questo progetto è attualmente su SQLite, ma ho un altro progetto su PostgreSQL con un problema simile che potrei voler fare lo stesso prima di ora legale entra in gioco ... Quindi idealmente una risposta DB-agnostico.

È stato utile?

Soluzione

Vorrei fare un aggiornamento di massa per le tabelle del database aggiungendo o sottraendo ore da / per i campi datetime.

Una cosa come questa funziona in SQL Server, e aggiunge 2 ore per la data:

update tblName set date_field = dateadd("hh", 2, data_field)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top