Java 日付・時刻の計算 加算・減算が簡単に

Chat&Messenger チャットもメッセンジャーも!! Chat&Messenger チャットもメッセンジャーも!!
LAN上でチャットとメッセンジャーが簡単に利用できるフリーソフトChat&Messengerを紹介します。IP Messenger互換。付箋紙にも対応。

Java 日付・時刻の計算 加算・減算が簡単に

Java 日付・時刻の計算 加算・減算が簡単に

 Java で簡単に日付・時刻の加算・減算を計算するサンプルプログラムを紹介します。
サンプルプログラムの特徴は以下となります。

  • 現在、または任意の日付・時刻から指定の時間量を加算・減算した結果を返します。
  • プラスの数値を指定した場合時間を進め、マイナスの場合は戻します。
    たとえば、現在の日付時刻から 10 日前を計算する場合は以下となります。
    Calendar cal = addMonth(-10);
  • 年、月、日、時間、分、秒、ミリ秒の各時間フィールドに対し、任意の時間量を設定できます。
    また、指定の時間から相対的に計算する場合は、引数にCalendarクラスを渡す。
    たとえば、以下では指定のCalendarインスタンスから1年進めることになります。
    Calendar cal = add("指定のCalendar",1,0,0,0,0,0,0);
  • 各時間フィールドの値がその範囲を超えた場合、次の大きい時間フィールドが増分または減分されます。
    たとえば、以下では現在時刻から1時間と5分進めることになります。
    Calendar cal = addMinute(65);

メソッドの概要


メソッドの概要
static java.util.Calendar add(Calendar cal, int addYera, int addMonth, int addDate, int addHour, int addMinute, int addSecond, int addMillisecond)
現在、または任意の日付・時刻から指定の時間量を加算・減算した結果を返します。
static java.util.Calendar addYera(int addYera)
現在の日付・時刻から指定の【年数】を加算・減算した結果を返します。
static java.util.Calendar addMonth(int addMonth)
現在の日付・時刻から指定の【月数】を加算・減算した結果を返します。
static java.util.Calendar addDate(int addDate)
現在の日付・時刻から指定の【日数】を加算・減算した結果を返します。
static java.util.Calendar addHour(int addHour)
現在の日付・時刻から指定の【時間】を加算・減算した結果を返します。
static java.util.Calendar addMinute(int addMinute)
現在の日付・時刻から指定の【分】を加算・減算した結果を返します。
static java.util.Calendar addSecond(int addSecond)
現在の日付・時刻から指定の【秒】を加算・減算した結果を返します。

サンプルプログラム


実行

 サンプルプログラムでは、リターン値として計算後の日付を保持する java.util.Calendar オブジェクトを取得できますので、java.util.Calendar#getTime()メソッドにより、java.util.Dateに変換し java.text.SimpleDateFormat により日付文字列に変換しています。

◆実行例
public static void main(String[] args) {

SimpleDateFormat f = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
System.out.println("現在   の日付・時刻 = "+ f.format(add(null,0,0,0,0,0,0,0).getTime()));
System.out.println("1年後  の日付・時刻 = "+ f.format(addYera(1).getTime()));
System.out.println("1ヶ月前 の日付・時刻 = "+ f.format(addMonth(-1).getTime()));
System.out.println("3時間後 の日付・時刻 = "+ f.format(addHour(3).getTime()));
System.out.println("30時間前の日付・時刻 = "+ f.format(addHour(-30).getTime()));
System.out.println("40分後 の日付・時刻 = "+ f.format(addMinute(40).getTime()));
System.out.println("80秒後 の日付・時刻 = "+ f.format(addSecond(80).getTime()));
System.out.println("1ヶ月前から、4日後の日付・時刻 = "+ f.format(add(null,0,-1,4,0,0,0,0).getTime()));

}
◆実行結果
現在の日付時刻は 2008/03/25 00:00:00 とします。
現在   の日付・時刻 = 2008/03/25 00:00:00
1年後  の日付・時刻 = 2009/03/25 00:00:00
1ヶ月前 の日付・時刻 = 2008/02/25 00:00:00
3時間後 の日付・時刻 = 2008/03/25 03:00:00
30時間前の日付・時刻 = 2008/03/23 18:00:00
40分後 の日付・時刻 = 2008/03/25 00:40:00
80秒後 の日付・時刻 = 2008/03/25 00:01:20
1ヶ月前から、4日後の日付・時刻 = 2008/02/29 00:00:00
※2008年は閏年のため2月の月末日付は29日となります。

このサンプルプログラムは Chat&Messenger の「カレンダー・スケジュール管理機能」で実際に利用しています。



ページトップへ
ダウンロード - ダウンロード
更新履歴 - 更新履歴 2008
Java 日付・時刻 - Java 2つの日付の差を求める
Java 日付・時刻 - Java 2つの日付の月数の差を求める
Java 日付・時刻 - Java 日付・時刻の計算 加算・減算が簡単に
Web関連 - IE7で閉じる(window.close)と強制終了の対策
Web関連 - 10の翻訳エンジンを比較できるサイト 翻訳くらべ
Web関連 - Excelの表からHTMLテーブルタグ一発作成
Web関連 - IETester - 複数のIEバージョンの動作確認を行える便利なソフト
Java ファイル・I/O - Java 再帰的にファイルを検索
Thanks Links・リンク集 - おすすめフリーソフトまとめ
Java 特集 - Java タスクトレイのアイコンを表示・点滅
使い方・応用編 - タスクトレイに格納しメモリを節約
使い方・応用編 - ショートカットキー一覧
Thanks Links・リンク集 - Thanks Links
Java ファイル・I/O - Java ファイルコピー(バッファサイズを変更)
Java ファイル・I/O - Java ファイルコピー(簡単・高速)
その他 - 今後の開発予定
その他 - よくある質問
Web関連 - IE7で画面が真っ白の対策
使い方 - 使い方、使用方法
使い方 - ソフト内の名称
使い方 - 起動及び初期設定方法
使い方 - メッセンジャー機能
使い方 - メッセージペインの各種アイコン説明
使い方 - チャット機能
使い方 - ログ参照
使い方 - ファイルやフォルダの送信・受信
使い方 - アプリケーションの環境設定
使い方 - ソート設定と優先順位設定
使い方 - メッセージの保管
使い方 - 不在モード
使い方 - カレンダー機能
使い方 - キャプチャ機能
使い方 - 付箋機能
使い方 - 内部ブラウザ機能
使い方 - フォント設定
使い方・応用編 - configフォルダ及び各種設定ファイルについて
インストール・バージョンアップ - JREのインストール方法
インストール・バージョンアップ - インストール方法
インストール・バージョンアップ - バージョンアップ方法
Java 特集 - Java ログフィルタでHTTPを解析
インストール・バージョンアップ - バージョンアップとリリースポリシー
インストール・バージョンアップ - 初回起動時におけるWindowsファイアウォール注意点
ダウンロード - 過去のバージョンのダウンロード
Java 特集 - Java リフレクション が簡単に
その他 - 確認されている問題
IP Messenger 互換について - IP Messenger 互換について
更新履歴 - 更新履歴 2007
Java 日付・時刻 - Java 日付の妥当性・存在チェック
Java 日付・時刻 - Java 月末日付を取得する
Java 日付・時刻 - Java 現在(今日)の曜日を求める
Java 日付・時刻 - Java 日付文字列をDate型へ変換
Java 日付・時刻 - あらゆる日付・時刻文字列をDate、Calendar型へ変換
その他 - 掲示板・アンケート
インストール・バージョンアップ - アンインストール方法
インストール・バージョンアップ - ソフトに個別のJREを適用させる方法
Java ネットワーク - Java 実行しているマシンのホスト名を取得
その他 - iP ! (アイピー) 2008年 04月号に掲載
Java ネットワーク - Java IPアドレスからホスト名を取得
Java Swing - Java システムアイコンを抽出
Java Swing - Java クリップボードへコピー
Java ファイル・I/O - Java ディレクトリ内のファイル一覧を表示
Java ファイル・I/O - Java XMLEncoderでオブジェクトを保存
その他 - Vistaでのスクリーンショット
Java システム系 - Java 外部コマンドを実行し3つの結果を取得
Java システム系 - Java システムプロパティを見やすく出力
Java システム系 - Java メモリー使用量を取得
Java 文字列 - Java LPAD、RPADで整形
その他 - CM を見る
更新履歴 - 更新履歴 2006
Java 文字列 - Java 文字列内のURLをリンクに変換
Java 文字列 - Java ファイル名から拡張子を取り除く
Java 文字列 - Java ファイル名から拡張子を取得
その他 - 掲示板について
その他 - このサイトについて
その他 - プロフィール
Thanks Links・リンク集 - 相互リンク募集
Thanks Links・リンク集 - リンク集・ソフトウェア
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
メッセンジャー java messenger ダウンロード ip メッセンジャー ip messenger 互換 ip ポート