Как отформатировать дату в слова - PullRequest
2 голосов
/ 14 июня 2010

Я пытаюсь преобразовать java.util.Date в строку как «двадцать шестого октября девятнадцать девяносто три» для даты 26-10-1993.

Как это сделать в общем виде?

1 Ответ

2 голосов
/ 14 июня 2010

Вам необходимо извлечь 3 части даты (день, месяц, год) и просто преобразовать каждую из них соответственно.

В течение дня вам понадобится конвертер цифр в слова. Вы можете получить достаточно общий вариант или, альтернативно, поскольку ваш числовой диапазон ограничен, вы можете написать более простой, который работает только для дневного диапазона.

Для месяца просто сопоставьте его с названием месяца. Это должно быть просто.

В течение года вам нужно будет более точно определить, что это за требование. 2010 "двадцать десять"? А как насчет 2009? В любом случае для y=19xx, 18xx и т. Д. Можно преобразовать y % 100 и y / 100 в слова и объединить их.

Это потому, что когда y=1234, y / 100 = 12 и y % 100 = 34. / является целочисленным делением в этом контексте, а % является оператором остатка. Обязательно разберитесь со всеми особыми случаями, например, когда y % 100 == 0, например 1800 должно быть eighteen hundred, 1907 должно (возможно) быть nineteen o seven и т. Д.

Похожие вопросы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...