これは、SandboxのDowngoatの質問の1つに触発され、日/月形式を使用する人には4月31日をPi日として含めることを提案しました。
日付文字列を 無効な月/日形式の指定すると、ロールオーバーを使用して正しい日付を出力します。(最初に月をロールオーバーし、次に日をロールオーバーします)。
例:
「15/43」 -これは、15か月目の43日目と読みます。最初に、月を翌年に繰り越すため、最終的に3(3月)になります。現在、3月は31日しかないため、余分な日を4月にロールオーバーし、実際の日付を「4/12」として出力します。(4月12日)ます。
「3/16」 -これは有効な日付です(3月16日)。そのまま返してください。
「12/64」は -ああ、非常に多くの思い出12月第64回から... 12月31日を持って、1月には、私は本当に平均であるので、どのような31日間、持っている「2/2」(2月2日)を。
「19/99」 -最初に、19は7(7月)になります。7月には31日、8月には31日、9月には30日があるため、出力は「10/7」(10月7日)です。
「1/99999」 -1年は365日です。99999(mod 365)=354。年の354日は"12/20"です。
"9999999/10" -どうやら、9999999(mod 12)= 3なので、これは"3/10"(3月10日)です。
基準:
入力月は0より大きい整数です。入力日は0より大きい整数です。処理するうるう年がないため、年を指定する必要はありません。
更新:
私はそれが挑戦を過度に単純化すると思うので、Java Calendarクラスにあるようなカレンダー機能は禁止されています。ただし、日付の解析/書式設定機能は引き続き使用できます。
1/99999
は、12/19
私が思うに得られるはずです。