2016-04-01 14 views
0

Ich versuche Datensatz in MySQL zu speichern, indem Sie die aktuelle Ortszeit übergeben. Django fügt meiner aktuellen Zeit entweder Zeit hinzu oder subtrahiert die Zeit um 5:30 Uhr. Ich habe versucht, die folgendeDjango Zeitzone falsche Einfügung mit mysql

content = { 
     'status' : 1, 
     'responseCode': 42, 
     'time' : timezone.now(), 
     'another': timezone.localtime(timezone.now()), 
     'zone' : request.session.get('django_timezone'), 
     "message" : datetime.datetime.today() 
     } 

Antwort:

{ 
    "status": 1, 
    "responseCode": 42, 
    "zone": null, 
    "another": "2016-04-01T18:01:25.668+05:30", 
    "time": "2016-04-01T12:31:25.668Z", 
    "message": "2016-04-01T18:01:25.668" 
} 

Ich möchte die aktuelle Zeit sparen, die ist 2016-04-01T18: 01: 25,668 in DB, aber es wird immer noch sparen 2016 -04-01 12:31:25

Django Abfrage:

refundObject = TblRefund(schedule_id = 1923,transaction= transObject,response = "test",date = datetime.datetime.today()) 

Ich habe die Zeitzone in settings.py Datei nach:

TIME_ZONE = 'Asia/Kolkata' 
USE_TZ = True 

Antwort

0

Da das Format von MySQL Datetime-Feld ': MM: SS [.fraction] YYYY-MM-DD HH' ist. Sie sollten Ihre Zeit in dieses Format umwandeln und Offset in einem zusätzlichen Feld speichern. Über andere Möglichkeiten können Sie here lesen.

+0

Wenn das Format das Problem ist, warum speichert es die UTC-Zeit korrekt dh ** 2016-04-01 12: 31: 25 ** –

+0

b/c Server konvertiert es in eigene Zeit, schau [hier] (http://dev.mysql.com/doc/refman/5.7/en/time-zone-support.html) – johndark

+0

Ich führe diesen Befehl und es gibt mir System als Zeitzone zurück, was meine lokale Zeitzone von Asien/Kolkata bedeutet ** SELECT @ @ global.time_zone, @@ session.time_zone ** was richtig ist –