Поясните каждое слово даты в Python 3 - PullRequest
0 голосов
/ 30 августа 2018

В Python 3 я хотел бы изменить 2018-01-01 на «Первое января две тысячи восемнадцать». Я посмотрел руководство по формату в документации Python datetime но я не видел формат для обозначения дня месяца или для обозначения года. Есть ли известный модуль, который может это сделать (я новичок в Python)?

1 Ответ

0 голосов
/ 30 августа 2018

Используя модуль наклона, как прокомментировал @ Lakshay Garg , вы можете сделать:

import datetime as dt, inflect

p = inflect.engine()

def date_in_words(x):
     a = dt.datetime.strptime(x,'%Y-%m-%d')
     return (a.strftime('%B ')+p.number_to_words(p.ordinal(int(a.day)))+', ' + 
     p.number_to_words(int(a.year)))

date_in_words('2018-03-14')
Out[259]: 'March fourteenth, two thousand and eighteen'
...