Javaで日付の書式を取得するにはどうすればよいですか? 私は、日付形式の列を持っています。私はすべての行の形式を探したい。 私はこれをどのように行うことができますか? 例 - このあたりとしてJavaで日付の書式を探す
COL1| COL2 |COL3
-------------------------
1 | 12-2005-31 |zzz
2 | 24 March 2009 |aaa
Javaで日付の書式を取得するにはどうすればよいですか? 私は、日付形式の列を持っています。私はすべての行の形式を探したい。 私はこれをどのように行うことができますか? 例 - このあたりとしてJavaで日付の書式を探す
COL1| COL2 |COL3
-------------------------
1 | 12-2005-31 |zzz
2 | 24 March 2009 |aaa
SOこれに方法がない、Generic way to parse dates in Javaに答えます。部分解決策がいくつかありますが、決定的なものはありません。
データベースに文字列として日付を格納しているように見えます。私はあなたがデータベーステーブルの日付またはタイムスタンプに列の種類を変更し、恐怖を解析することから自分自身を保存することをお勧めします。
日付文字列の解釈に関連する明らかなあいまいさのため、文字列を解析して日付を形成することはできません。たとえば、「10/12/2009」と表示された日付を考えてみましょう。 12月10日と10月12日と解釈することができます。あなたがそれに従うパターンを知らない限り、この文字列を最終的な日付値にマップすることはできません。
@Manish Sharmaによると、日付の値が過去一定の日付から始まる絶対秒値として保存されているため、列の種類を日付に変更することが問題の解決になります。
独自のヒューリスティックを行うか、単に「推測する」必要があります。正規表現パターンのリストを作成し、最初に一致するパターンを使用してDateインスタンスを構築します。データベースの日付の形式があまりにも可変ではないことを願っています。
数字の月と12月の日を区別するにはどうすればよいですか? –
いくつかの日付形式はあいまいです。 10-11-12は2012年11月12日または11月10日または2012年10月11日になります。 –
同じ列に異なるフォーマットがあるのはなぜですか?コードで日付形式を解釈することは安全ではありません。私は列/ソースの形式を修正することをお勧めします。 – aishwarya