Ok, takže mám backend pre aplikáciu napísanú v rubíne na koľajniciach a práve som prepísal backend v pytóne pomocou django, ale nefunguje, pretože formát dátumu je iný.
takže vo formátoch vyzerá podobne
2015-01-14 05:14:44 UTC
a v pythone to vyzerá
2015-01-19T17:58:08.991Z
práve teraz mám model v django, ktorý vyzerá
date = models.DateTimeField()
teraz, keď som dostal modelobject.date to musí byť v rovnakom formáte ako v rubíne na koľajniciach ... Čo musím urobiť preformátovať dátum dátum?
odpovede:
0 pre odpoveď č. 1Môžeš použiť strptime
z datetime
modul získať kompatibilný dátum dátumu z výsledku dotazu pomocou formátovacieho reťazca.
Takže by ste robili niečo ako:
from datetime import strptime
# ... your code ...
date = strptime(date, "%Y-%m-%d %H:%M:%S %Z")
Pokračujte v tejto kontrole na stránke strptime https://docs.python.org/2/library/datetime.html#datetime.datetime.strptime
Pozrite sa na to pre ďalšie možnosti formátovania: https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior
0 pre odpoveď č. 2
Na svojom modeli môžete vytvoriť metódy, ktoré konvertujú reťazec pomocou modulu datetime Pythonu:
import datetime
# ... model definition ...
def date_from_ruby_string(self, datestring):
"""set date field based on string in ruby format"""
self.date = datetime.strptime(datestring, "%Y-%m-%d %h-%M-%S UTC")
def ruby_string_from_date(self):
"""return string of date in ruby format"""
return self.date.strftime("%Y-%m-%d %h-%M-%S UTC")