Estou tentando um processo semelhante, exceto que minha string de entrada não tem o ano, portanto parece '2405'. Por padrão, o ano é considerado como 1900. O problema ocorre ao analisar a data de fevereiro como '2902'. Eu recebo esse erro ValueError: day is out of range for month. Não tenho certeza de como posso definir o ano padrão durante a análise.
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 eu tenho esse tipo de dados, como obtenho o objeto de data?
Hardik Gajjar
Use o módulo re (expressão regular) para alterar seus dados de "2015-07-20 09: 46: 55 + 00: 00" para "2015-07-20T09: 46: 55-00: 00". Em seguida, use dateutil.parse para obter um objeto de data.
Schopenhauer
11
Obrigado, realmente problema era tipo dict objeto e eu apenas obter solução usando dict.get usando
Hardik Gajjar
2
Outra idéia é ler o manual docs.python.org/3/library/… e observe que% B significa "Mês como nome completo do código do idioma". que é como "janeiro" ou "dezembro", para que "02" não seja analisado.
aleta
11
A seqüência de formato de data em isso é incorreto, ele deve ser uma% m não um% B
theannouncer
24
Se você é preguiçoso e não quer lutar com literais de string, basta ir com o parsermódulo.
1900
. O problema ocorre ao analisar a data de fevereiro como '2902'. Eu recebo esse erroValueError: day is out of range for month
. Não tenho certeza de como posso definir o ano padrão durante a análise.fonte
Pergunta diretamente relacionada:
E se você tiver
e você obtém:
e você tentou:
mas você ainda recebe o rastreio acima.
Responda:
fonte
Se você é preguiçoso e não quer lutar com literais de string, basta ir com o
parser
módulo.Apenas uma observação : como estamos tentando corresponder à
any
representação de strings, é 10 vezes mais lenta questrptime
fonte
Monday, June 03, 2019
você tem uma sequência de datas como esta, "24052010" e deseja um objeto de data para isso,
este cus_date fornecerá o objeto date.
você pode recuperar a sequência de datas do seu objeto de data usando isso,
fonte
Existe outra biblioteca chamada
arrow
realmente ótima para fazer manipulação na data do python.fonte
Use o módulo de tempo para converter dados.
Fragmento de código:
fonte