Как переформатировать дату с 26-MAY-20 03.43.48.861000000 на «гггг-мм-дд чч: мм: сс»? - PullRequest
0 голосов
/ 30 мая 2020

Как преобразовать '26-MAY-20 03.43.48.861000000' в 'yyyy-mm-dd hh:mm:ss', используя datetime в Python?

Ответы [ 2 ]

2 голосов
/ 30 мая 2020

Такая большая картина, цель состоит в том, чтобы создать объект даты из первой строки, а затем отформатировать дату во вторую строку.

datetime.strptime будет вашим лучшим друг здесь, вместе с datetime.strftime .

Ссылаясь на коды формата библиотеки , мы можем составить формат первой строки.

from datetime import datetime

# I don't know why your datetime doesn't conform to the 1989 C standard but I'm just truncating it
may_26 = datetime.strptime('26-MAY-20 03.43.48.861000000'[:-3], "%d-%b-%y %H.%M.%S.%f")

output = datetime.strftime(may_26, "%Y-%m-%d %H:%M:%S")

Я делаю для вас несколько предположений относительно форматирования, например, предполагаю, что ваше datetime в 24-часовом формате и так далее, так что обязательно проверьте сами.

1 голос
/ 30 мая 2020

pandas.to_datetime также будет анализировать наносекунды (я изменил временную строку, чтобы иметь некоторые ...):

import pandas as pd
t = pd.to_datetime('26-MAY-20 03.43.48.861000100', format="%d-%b-%y %H.%M.%S.%f")

t
Out[41]: Timestamp('2020-05-26 03:43:48.861000100')

t.microsecond
Out[42]: 861000

t.nanosecond
Out[43]: 100
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...