Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get datetime format from string python

In Python there are multiple DateTime parsers which can parse a date string automatically without providing the datetime format. My problem is that I don't need to cast the datetime, I only need the datetime format.

Example: From "2021-01-01", I want something like "%Y-%m-%d" or "yyyy-MM-dd".

My only idea was to try casting with different formats and get the successful one, but I don't want to list every possible format.

I'm working with pandas, so I can use methods that work either with series or the string DateTime parser.

Any ideas?

like image 651
stefano gelli Avatar asked Aug 02 '26 08:08

stefano gelli


1 Answers

In pandas, this is achieved by pandas.tseries.api.guess_datetime_format

from pandas.tseries.api import guess_datetime_format

guess_datetime_format('2021-01-01')

# '%Y-%m-%d'

As there will always be an ambiguity on the day/month, you can specify the dayfirst case:

guess_datetime_format('2021-01-01', dayfirst=True)
# '%Y-%d-%m'
like image 60
mozway Avatar answered Aug 05 '26 11:08

mozway