2017-12-12 7 views
-3

現在、私は現在の日付に基づいて最後の1ヶ月のレコードを表示したいと思います。だから私は先月、最後の日付&去年が必要です。月間には30日必要です。 Ex:現在の日付は12/12/2017(dd/mm/yyyy)、次に予定された日付は13/11/2017 EX:現在の日付は12/03/2017で、次に予定された日付は11/02/2017先月の前回の日付をJavaの現在の日付から取得する方法

+0

http://idownvotedbecau.se/noattempt/ –

+0

は、主に私は日付 –

+0

ヒントが欲しいです。検索*スタックオーバーフロー*投稿する前に完全に。 –

答えて

0

カレンダーを使って簡単に実行できます。

Calendar c=Calendar.getInstance(); 
    c.setTime(new Date()); 
    c.add(Calendar.DAY_OF_YEAR, -30); 
    System.out.println(c.getTime()); 
+0

月に31日があればどうなりますか? – Jure

+0

または28日。または29日。 –

+0

彼は彼が30日を必要としていると言いました。私はそれがはっきりと見える場合は数ヶ月間です。だから基本的に彼は正確には30日の違いが欲しいですが、彼の方法は不明であった。 –

0

これは問題を解決するはずです。すべての基本的な日時の質問が尋ねたと回答されていると想定します

Calendar cal = Calendar.getInstance();   
cal.add(Calendar.MONTH, -1); 
cal.add(Calendar.DATE, -1); 
+0

FYI、[java.util.Calendar'](https://docs.oracle.com/javase/9​​/docs/)のような面倒な古い日時クラスapi/java/util/Calendar.html)は現在[legacy](https://en.wikipedia.org/wiki/Legacy_system)であり、[java.time](https://docs.oracle.com/ Java 8とJava 9に組み込まれているクラス(javase/9/docs/api/java/time/package-summary.html)を参照してください。[Tutorial by Oracle](https://docs.oracle.com/javase/tutorial/datetime/ TOC.html)。 'LocalDate.now()。minusMonths(1)' –

+0

私はBasilに同意します。しかし、Javaのバージョンが異なるクライアント環境でコードを実行したいとき。すべての人が最新のJavaバージョンにマシンをアップグレードしたわけではありません。これは、このクラスがまだ使用されている場所です。 – Rohit

+0

Java 6およびJava 7の場合は、アプリで* ThreeTen-Backport *ライブラリを使用してください。レガシーの日時クラスは本当に惨めな混乱であり、避けるべきです。 –

関連する問題