J'essaie de sérialiser le datetime dans une API, mais je ne veux pas de millisecondes. Ce que je veux est ici: https://en.wikipedia.org/wiki/ISO_8601 - "2015-09-14T17:51:31+00:00"
Impression de datetime au format ISO sans millisecondes
tz = pytz.timezone('Asia/Taipei')
dt = datetime.datetime.now()
loc_dt = tz.localize(dt)
Essayez A:
loc_dt.isoformat()
>> '2015-09-17T10:46:15.767000+08:00'
Essayez B:
loc_dt.strftime("%Y-%m-%dT%H:%M:%S%z")
>> '2015-09-17T10:46:15+0800'
Ce dernier on est presque parfait sauf qu'il manque le côlon dans le fuseau horaire partie. Comment puis-je résoudre ceci sans manipulation de chaîne (suppression de millisecondes ou ajout de deux-points)?
Je préfère une solution de chaîne de format, parce que ce que je peux facilement plop dans la sérialiseur. Cependant, je ne vois rien d'utile sur la page de chaîne de format de strftime. –
ISO8601 permet des seconds fragments. Essayez de supprimer le fragment avant de formater la chaîne –
sans rapport: votre code peut échouer lors des transitions DST, utilisez 'loc_dt = datetime.now (tz)' à la place. – jfs