J'essaie un processus similaire, sauf que ma chaîne d'entrée n'a pas l'année, elle ressemble donc à «2405». Par défaut, l'année est considérée comme 1900. Le problème se produit lors de l'analyse de la date de février comme «2902». Je reçois cette erreur ValueError: day is out of range for month. Je ne sais pas comment je peux définir l'année par défaut lors de l'analyse.
Traceback(most recent call last):File"<stdin>", line 1,in<module>File"/usr/local/lib/python2.7/_strptime.py", line 308,in _strptime
format_regex =_TimeRE_cache.compile(format)File"/usr/local/lib/python2.7/_strptime.py", line 265,in compile
return re_compile(self.pattern(format), IGNORECASE)File"/usr/local/lib/python2.7/re.py", line 194,in compile
return _compile(pattern, flags)File"/usr/local/lib/python2.7/re.py", line 251,in _compile
raise error, v # invalid expression
sre_constants.error: redefinition of group name 'H'as group 7; was group 4
2015-07-20 09: 46: 55 + 00: 00 j'ai ce type de données, comment puis-je obtenir un objet date?
Hardik Gajjar
Utilisez le module re (expression régulière) pour changer vos données de "2015-07-20 09: 46: 55 + 00: 00" à "2015-07-20T09: 46: 55-00: 00". Utilisez ensuite dateutil.parse pour obtenir un objet date.
Schopenhauer
1
Merci, en fait le problème était un objet de type dict et j'obtiens simplement une solution en utilisant dict.get en utilisant
Hardik Gajjar
2
Une autre idée est de lire le manuel docs.python.org/3/library/… et de remarquer que% B signifie "mois comme nom complet de la locale". qui est comme "janvier" ou "décembre" donc "02" ne va pas analyser.
Retournez le
1
La chaîne de format de date est incorrecte, il doit s'agir d'un% m et non d'un% B
theeannouncer
24
Si vous êtes paresseux et que vous ne voulez pas vous battre avec des littéraux de chaîne, vous pouvez simplement utiliser le parsermodule.
1900
. Le problème se produit lors de l'analyse de la date de février comme «2902». Je reçois cette erreurValueError: day is out of range for month
. Je ne sais pas comment je peux définir l'année par défaut lors de l'analyse.la source
Question directement liée:
Et si vous avez
et vous obtenez:
et vous avez essayé:
mais vous obtenez toujours la trace ci-dessus.
Réponse:
la source
Si vous êtes paresseux et que vous ne voulez pas vous battre avec des littéraux de chaîne, vous pouvez simplement utiliser le
parser
module.Juste une note latérale , comme nous essayons de faire correspondre
any
la représentation des chaînes, elle est 10 fois plus lente questrptime
la source
Monday, June 03, 2019
vous avez une chaîne de date comme celle-ci, "24052010" et vous voulez un objet date pour cela,
ce cus_date vous donnera un objet date.
vous pouvez récupérer la chaîne de date de votre objet date en utilisant ceci,
la source
Il existe une autre bibliothèque appelée
arrow
vraiment géniale pour faire des manipulations sur la date python.la source
Utilisez le module de temps pour convertir les données.
Extrait de code:
la source