[Java] 日付の計算方法(DateFormat、Date、Calendar)
公開日:
:
Java, 基本 Calendar, Date, DateFormat, Java, SimpleDateFormat, 日付, 演算, 計算
こんにちは、kei0310です。
Javaで日付を計算する方法について解説します。
まず、任意の日付をつくるためには、DateFormatを利用します。
SimpleDateFormatクラスはとても重いクラスなので、やたらめったらnewするとパフォーマンスが落ちますが、この話をすると記事の範疇を超えるので割愛します。
※特にWebアプリのようなマルチスレッド環境でSimpleDateFormatを取り扱うときは注意が必要です。
DateFormatの取り扱い自体は簡単で、以下のように記述します。
// DateFormat作成
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
// 日付文字列をDate型に変換
Date dt = df.parse("2014-08-01");
あとは、Calendarクラスを介して日付の計算を行います。
以下は、そのままコピペして使えるサンプルになります。
●日付の計算サンプル
package test.date;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class TestDateCalc {
public static void main(String[] args) throws ParseException{
// DateFormat
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
// 2014/08/01でDateオブジェクト作成
Date dt = df.parse("2014-08-01");
// カレンダークラスのインスタンスを取得
Calendar cal = Calendar.getInstance();
// 現在時刻を設定
cal.setTime(dt);
// 150日を加算
cal.add(Calendar.DATE, 150);
// 結果を表示
System.out.println(df.format(cal.getTime()));
// 2カ月を加算
cal.add(Calendar.MONTH, 2);
// 結果を表示
System.out.println(df.format(cal.getTime()));
// 1年を減算
cal.add(Calendar.YEAR, -1);
// 結果を表示
System.out.println(df.format(cal.getTime()));
}
}
●結果
2014-12-29
2015-02-28
2014-02-28
スポンサードリンク
関連記事
-
-
[Java][Servlet][JSP] ServletからJSPへの転送
こんにちは。 今回は、「Servletでリクエストを受けて、JSPで表示する。」方法を解説しま
-
-
[Java][MySQL] JavaからMySQLを使う方法
MySQLは、フリーでありながら商用としても使用できるパワーを持つデータベース(RDB)です。
-
-
[Java][Jersey] JerseyでRESTfulなJAX-RS Webサービス作成
こんにちは、keiです。 今回はRESTfulなWeb Serviceの作成を行っていきます。
-
-
[Java] Apache POIでExcel操作!
Apache POIをまずは使ってみようという方(自分も含め)のメモ 導入 Maven htt
-
-
[Java][基本] mainメソッドの書き方
こんにちはkeiです。 Javaの基本として、意外と知らないmain関数について解説します。
-
-
[Java][Spring] DIする方式を細かく見てみる① @ScopeでのSingletonとPrototypeの指定
今回は@Scopeアノテーションを用いて、オブジェクトをDIする方式を選択してみます。 ●解説
-
-
[Java] Javaのインストール(プログラム開発・入門用)
Javaのコードを書きたい!! という目的のためのJavaのインストール方法と、コマンドラインでの
-
-
[Java][Framework] Spring Bootを使って、Spring MVC速攻開発してみる!(DB接続あり)
STSインストール STSは、EclipseにSpring関連のいろいろな機能を詰め込んだオールイ
-
-
[Java] 文字列の分割(split)
こんにちは。 今回は、文字列の分割について解説します。 昔はStringTokenize
-
-
[Java][Spring] Spring3でDIしてみる!(アノテーション使用)
Spring3を使って、一番基本的な形のプログラムを作成してみます。 今回は、アノテーションを