З огляду на дату, записану в будь-якому (повинен обробляти всі в одній програмі) наступних форматів, розбери її на дійсний yyyy/mm/dd date
.
17th May 2012
March 14th, 2016
20 February 2014
September 14, 2017
Sunday, June 8, 2015
Правила
- Дати іноді будуть недійсними, тобто. неправильний день за місяць або кількість місяців у році, ви повинні вирішити обидва випадки. Або ви помилившись або повернувши послідовне значення фальси, ви виберете. (Однак вони будуть дотримуватися форматів шаблонів вище)
- Прокладки для днів і місяців менше 10 повинні використовуватися для створення двозначного виводу.
- Імена місяця завжди будуть повними іменами, не скорочуючи їх до трьох аналогів символів.
- Можна припустити, що рік завжди буде в межах 0000-9999.
- Негативні цифри не потрібно обробляти.
- Ви можете створити повну програму або функцію, щоб вихід був у будь-якому форматі, надрукований на консоль або повернутий із функції.
- Вхід завжди буде рядком, вихід завжди повинен бути рядком, якщо він скорочує його як єдиний аргумент в масиві, наприклад.
["17th May 2012"]
Ви можете зробити це, і вихід може бути однаковим["2012/05/17"]
- Ви можете припустити, що написання введення буде правильним.
БОНУС: тому що тут не подобається виклик;)
Якщо ви можете дозволити також дозволити формати введення The Fourteenth of March, 2016
або March the Fourteenth, 2016
ви можете зняти з коду зайві 20 байт з будь-яким кінцевим числом байт, меншим за 1, в результаті чого 1.
Ось повні письмові цифри на кожен день, щоб уникнути плутанини в написанні.
First, Second, Third, Fourth, Fifth, Sixth, Seventh, Eighth, Nineth, Tenth, Eleventh, Twelfth, Thirteenth, Fourteenth, Fifteenth, Sixteenth, Seventeenth, Eighteenth, Nineteenth, Twentieth, Twenty First, Twenty Second, Twenty Third, Twenty Fourth, Twenty Fifth, Twenty Sixth, Twenty Seventh, Twenty Eighth, Twenty Nineth, Thirtieth, Thirty First
Випробування
INPUT | Output
17th May 2012 | 2012/05/17
March 14th, 2016 | 2016/03/14
20 February 2014 | 2014/02/20
September 14, 2017 | 2017/09/14
Sunday, June 8, 2015 | 2015/06/08
1st January 1918 | 1918/01/01
The Fourteenth of March, 2016 | 2016/03/14
March the Fourteenth, 2016 | 2016/03/14
November the Seventeenth, 2019 | 2019/11/17
The Thirtieth of April, 2016 | 2016/04/30
30 February 2014 | Invalid
September 99, 2017 | Invalid
Sunday, June8, 2015 | Invalid
The Thirty First of April, 2016 | Invalid
20 February 2014
це по замовчуванням підтримується в багато фінікових анализаторах, але 17th
і Sunday, June 8, 2015
трохи більш важко розібрати ( в залежності від мови).
Thursday, August 25, 2017
було б дійсним? Я бачу матеріали, що ігнорують DOW.