2014-08-12 4 views
0

У меня возникли проблемы с хранением переменной datetime в базе данных Google Cloud SQL. Каждый раз, когда я его храню, он сохранит его в формате UTC, и я хочу его в CEST + 0200 (часовой пояс Испании).Datetime в Google Cloud SQL [GAE + Python]

С помощью этой функции в Python, я могу получить время, я хочу:

def spain_timezone(): 
    fecha_actual_utc = datetime.now(timezone('UTC')) 

    # Convert to Spain local time 
    now_spain = fecha_actual_utc.astimezone(timezone('Europe/Madrid')) 
    logging.info('time is %s', now_spain.strftime(fmt)) 

    return now_spain 

Есть ли способ, чтобы сохранить его в качестве часового пояса в Испании?

спасибо.

+0

Почему бы не просто преобразовать часовой пояс на испанском языке, когда вы извлекаете его вместо этого? –

+0

Извините, что вы имеете в виду? Я могу восстановить время, которое захочу, но дата, сохраненная в базе данных, хранится в часовом поясе UTC. –

ответ

1

вы можете использовать pytz библиотеку, чтобы сделать это, я нашел в этом answer примере, но очень прост в использовании

import pytz 
import datetime 

fecha_actual_Madrid = pytz.timezone('Europe/Madrid')  
logging.info('time is %s', datetime.datetime.now(fecha_actual_Madrid)) 
+1

Да, я видел этот пример, и я использовал эту библиотеку python. Наконец, я мог бы решить эту проблему, установив Django settings.py USE_TZ = False и используя функцию astimezone() и часовой пояс («Европа/Мадрид»). Большое вам спасибо за ответ. –

Смежные вопросы