入力として日付のサンプルを使用して、日付の書式予測

user2450833:

インプットとリターンの可能な日付形式として(文字列型の)日付のリストを取る方法を探しています。

例:入力が[ "2018年1月2日"、 "13/09/2018"、 "2016年8月11日"]が、出力は "DD / MM / YYYY" でなければなりません。

これは例の一つです。与えられた入力用のJavaで最高のスーツをすべてサポートされている日付形式を返すことができるはずです。

オレVV:

私は、このような方法が容易に利用可能であるとは思いません。あなたはそれを自分でコーディングする必要があります。

常にユニークな答えを与えることが可能ではないかもしれないけれどもそれは、可能です。

正確に3つの文字列中の数字と前に、各文字列の数字の間と後に同じセパレータを必要としています。各列から第一、第二及び第三の数を拾います。それぞれの最小値と最大値を検索します。私はあなたの例を取っ​​ています:

[ "2018年1月2日"、 "13/9/2018"、 "2016年8月11日"]

  • 最初の数は1とmax 13をminました
  • 第2の数のHAR分2とmax 11
  • 第三の数は2016とmax 2018をminました

今年は、minとmaxは、あなたの状況に合わせて制限を選択してください2100によって1900、たとえば、内にある数だという、簡単です。月は、最初の非年間の数字のどれもが12以上になるない場合は、13の最大を決めることはできないし、する必要がありますので、あなたの例では12の上方にならない数が第2の数は月であります例外などを投げます。あなたは年と月を決めたら、あなたが使用していない番号は、月の日です。それは検証のために31を介して1以内であることを確認してください。

日と月の両方の場合:発生が先行ゼロであった場合(01そして02、あなたの例の場合)すべての出現は2桁を持って、フォーマットの2桁を必要と、使用しましたddMMそうでなければ使用dまたはM(番号のための十分な数字を印刷し、一桁と2桁の入力の両方を解析します)。あなたの例では、月のように与えられているので9(2番目の文字列で1桁、)および8日、使用などdM

最終結果:d/M/uuuud/M/yyyy

コーディングハッピー。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=187343&siteId=1