データベースからの日付がタイプ番号として取得されています。 私はそれを日付に変換する必要があります。たとえば、日付が070311の場合、データベースから抜き出しながら、Javaで70311を取得しています。 番号がないので0が失われます。 私はこの数字を文字列に変換してから日付にフォーマットしますが、必要に応じて07/03/11を与えません。javaの日付として変換番号dMMyyを変換
私は08/09/0003で土曜9月8日午後12時00分00秒IST 3 を取得していますが、それは07/03/11のようにすると仮定String strDate = String.valueOf(70311);
Date date = new SimpleDateFormat("ddMMyy").parse(str);
出力日付。
正面にゼロを追加するのは良い解決策ですが、文字列の長さが6桁であるかどうかを確認することもお勧めします。あなたは、コーディングの際にすべての限界的なケースを処理する必要があります。 – deadfish
@deadfish私はそれがOPのコメントだと思っていますか?私は最終的な解決策はすべてのエッジケースを処理する必要があることに同意しますが、このコードのさらなる改善はこの質問/回答の範囲を超えている可能性が高く、読者のための練習として残されています。私は、この問題の理想的な解決策は、データベースから日付を読み込み、それを文字列に変換されて日付として解釈される整数として格納しないことです。 p.s. 'String.valueOf(70311)'は常に* 5桁ですので、この解決法を一般化しない限り、長さのチェックは無意味です。 – nbrooks
はい、あなたは正しいです。最善の解決策は、タイムスタンプに日付を格納し、読み込み可能な日付にしてフォーマットすることです。しかし、私の最初のコメントはあなたの最初の解決策に関するものでした。現在の日の数が9より大きい場合、あなたの 'strDate'は' 0130311'のようになります。 – deadfish