Kolejność formatowania dat jest jedną z najbardziej złożonych i dzielących kwestii, przed którymi stoi dziś świat. Niektórzy z nas zdecydowanie twierdzą, że miesiąc / dzień / rok jest właściwy, biorąc pod uwagę, że tak mówimy na głos. Inni głośno ogłaszają, że dzień / miesiąc / rok jest najlepszy, ponieważ ustawia terminy w porządku rosnącym według czasu, który reprezentują.
Wystarczy. Komputery mogą rozwiązać ten spór w prosty i uczciwy sposób. Twój kod, pełna funkcja lub program, będzie zawierał ciąg daty oddzielony ukośnikami, np 12/1/2015. Uwaga: jest to dokładny format, bez zer wiodących i czterocyfrowego roku na końcu.
- Jeśli jest to zdecydowanie Miesiąc / Dzień / Rok, np.
10/31/1998Wypisz tekstową reprezentację tej daty w dokładnie takim formacie, z pełną nazwą miesiąca, dniem i rokiem:October 31, 1998 - Jeśli jest to zdecydowanie dzień / miesiąc / rok, na przykład
25/12/1989, wyjście tego samego rodzaju reprezentacji tekstu:December 25, 1989. - Jeśli nie jest jednoznaczne, czy jest to miesiąc / dzień / rok, czy dzień / miesiąc / rok, wpisz datę, która rozwiązuje niejednoznaczność, łącząc dwie możliwe daty w następujący sposób:
- Utwórz nową nazwę miesiąca, biorąc pierwszą połowę nazwy z poprzedniego miesiąca i dołącz drugą połowę późniejszego miesiąca. W przypadku miesięcy o nieparzystej długości pierwsza połowa otrzymuje dodatkową literę. Aby być jawne, pierwsze połówki miesiącach są
Janu,Febr,Mar,Apr,Ma,Ju,Ju,Aug,Septe,Octo,Nove, iDece, a drugie połówki są zatemary,uary,ch,il,y,ne,ly,ust,mber,ber,mber, imber. - Oblicz dzień, uśredniając dwa możliwe dni, zabierając głos, gdy średnia nie jest liczbą całkowitą.
- Wydrukuj tekstową reprezentację tej daty, np. Dla
10/8/2011danych wyjściowychAugber 9, 2011.
- Utwórz nową nazwę miesiąca, biorąc pierwszą połowę nazwy z poprzedniego miesiąca i dołącz drugą połowę późniejszego miesiąca. W przypadku miesięcy o nieparzystej długości pierwsza połowa otrzymuje dodatkową literę. Aby być jawne, pierwsze połówki miesiącach są
Jeśli datą wejściową nie może być miesiąc / dzień / rok lub dzień / miesiąc / rok (np. 13/13/2013Lub nawet 2/30/2002), każde zachowanie jest dopuszczalne. Ten kod golf, najkrótszy kod wygrywa!
Przypadki testowe:
10/31/1998 daje October 31, 1998
25/12/1989 daje December 25, 1989
10/8/2011 daje Augber 9, 2011
8/5/1957 daje Maust 6, 1957
9/12/2012 (co dziwne) daje September 10, 2012
1/1/2000 daje January 1, 2000
without leading zeroes and with a four-digit year at the endsugerujeyear >= 1000
