Chat&Messenger - チャット & メッセンジャーでビジネスが加速する -
IP Messenger 互換。チャット、メッセンジャー、テレビ会議、スケジュール、文書共有、キャプチャを統合したフリーソフト

Java 2つの日付の差を求める

Java 2つの日付の差を求める

Java で、2 つの日付の差を求めるサンプルプログラムを紹介します。
サンプルプログラムでは比較対象の日付が、文字列( yyyy/MM/dd )の場合、java.util.Date の場合に対応しています。

日付の差を求める計算方法は以下となります。
  1. 最初に 2 つの日付を long 値に変換します。
    ※この long 値は 1970 年 1 月 1 日 00:00:00 GMT からの経過ミリ秒数となります。
  2. 次にその差を求めます。
  3. 上記の計算で出た数量を 1 日の時間で割ることで日付の差を求めることができます。
    ※1 日 (24 時間) は、86,400,000 ミリ秒です。

サンプルソース

実行

◆実行例
public static void main(String[] args) {
    int ret = differenceDays("2008/6/2","2008/6/1");
    System.out.println("結果1 = "+ret);
    
    ret = differenceDays("2008/6/1","2008/6/3");
    System.out.println("結果2 = "+ret);

    // 5月の日数は31日
    ret = differenceDays("2008/6/1","2008/5/1");
    System.out.println("結果3 = "+ret);

    // 6月の日数は30日
    ret = differenceDays("2008/7/1","2008/6/1");
    System.out.println("結果4 = "+ret);

    // 2008年は閏年のため2月の月末日付は29日
    ret = differenceDays("2008/3/1","2008/2/28");
    System.out.println("結果5 = "+ret);
}
◆実行結果
結果1 = 1
結果2 = -2
結果3 = 31
結果4 = 30
結果5 = 2

2つの日付の差を求める方法は比較的簡単ですが、月数の差を求める場合は少し難易度があがります。参考までに以下ご覧ください。
Java 2つの日付の月数の差を求める

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

ページトップへ
ダウンロード - ダウンロード詳細
更新履歴 - 更新履歴 2014 - 2015
応用編 - ショートカットキー一覧
その他 - プレミアムエディション
その他 - 確認されている問題点と解消方法
その他 - IP Messenger 互換について
インストール / Verup - インストール方法
インストール / Verup - バージョンアップ方法
Thanks Links・リンク集 - おすすめフリーソフトまとめ
インストール / Verup - バージョンアップ方法 インストール無し版
インストール / Verup - 初回起動時におけるWindowsファイアウォール
更新履歴 - 更新履歴 2011 - 2013
更新履歴 - 更新履歴 2009
インストール / Verup - インスートール方法 Mac OSX
インストール / Verup - JREのインストール方法
CAMServer - CAMServer 概要
CAMServer - CAMServer の導入方法
CAMServer - ライセンスのご購入
インストール / Verup - バージョンアップとリリースポリシー
CAMServer - 文書・ファイル共有
ダウンロード - 過去のバージョンのダウンロード
CAMServer - 外部ユーザ取得・ルータ超え
Thanks Links・リンク集 - Thanks Links
インストール / Verup - アンインストール方法
応用編 - バックアップ設定
CAMServer - クライアント利用制限
CAMServer - メッセージログのサーバ集中管理
CAMServer - オフライン時の Email 転送
CAMServer - CAMServer のバージョンアップ
ダウンロード - CAMServer のダウンロード
テレビ会議 / 音声通話 - テレビ会議・音声通話
CAMServer - CAMServer を Windows サービスとして起動
応用編 - パケット追跡について
テレビ会議 / 音声通話 - ヘッドセット・カメラの準備
テレビ会議 / 音声通話 - ヘッドセット・カメラの推奨商品
その他 - SaaS型 オンデマンド型サービスとして提供
その他 - よくある質問
更新履歴 - 更新履歴 2008
Thanks Links・リンク集 - 相互リンク募集
CAMServer - よくある質問 CAMServer 編
メッセンジャー / チャット - 使い方、使用方法
応用編 - 便利な使い方(Tips)
メッセンジャー / チャット - 起動及び初期設定方法
メッセンジャー / チャット - メッセンジャー
メッセンジャー / チャット - メッセージ内のアイコン説明
メッセンジャー / チャット - チャット
メッセンジャー / チャット - ログ参照
メッセンジャー / チャット - ファイルやフォルダの送信・受信
メッセンジャー / チャット - アプリケーションの環境設定
メッセンジャー / チャット - ソート設定と優先順位設定
メッセンジャー / チャット - メッセージの保管
メッセンジャー / チャット - 不在モード
スケジュール / カレンダー - カレンダー
スケジュール / カレンダー - スケジュール共有
メッセンジャー / チャット - キャプチャ
メッセンジャー / チャット - 付箋
スケジュール / カレンダー - ToDo
応用編 - フォント設定
メッセンジャー / チャット - 概要資料PDF版
スケジュール / カレンダー - 会議室・施設予約
応用編 - configフォルダ及び各種設定ファイルについて
CAMServer - 特定商取引に関する法律に基づく表記
インストール / Verup - ソフトに個別のJREを適用させる方法
更新履歴 - 更新履歴 2007 Java システム系 - Java 外部コマンドを実行し3つの結果を取得
Java 文字列 - Java LPAD、RPADで整形
Java 日付・時刻 - Java 2つの日付の差を求める
Java システム系 - Java システムプロパティを見やすく出力
Java システム系 - Java メモリー使用量を取得
Java 文字列 - Java ファイル名から拡張子を取り除く
Java 文字列 - Java ファイル名から拡張子を取得
Java ファイル・I/O - Java ディレクトリ内のファイル一覧を表示
Java ファイル・I/O - Java XMLEncoderでオブジェクトを保存
その他 - Windows100% 2008年9月号に掲載
Java 日付・時刻 - Java 2つの日付の月数の差を求める
Java 日付・時刻 - Java 日付・時刻の計算 加算・減算が簡単に
Web関連 - 10の翻訳エンジンを比較できるサイト 翻訳くらべ
Web関連 - Excelの表からHTMLテーブルタグ一発作成
Web関連 - IETester - 複数のIEバージョンの動作確認を行える便利なソフト
Java ファイル・I/O - Java 再帰的にファイルを検索
Java 特集 - Java タスクトレイのアイコンを表示・点滅
応用編 - タスクトレイに格納しメモリを節約
Java ファイル・I/O - Java ファイルコピー(バッファサイズを変更)
Java ファイル・I/O - Java ファイルコピー(簡単・高速)
Java 特集 - Java ログフィルタでHTTPを解析
その他 - おとなのWindows 2008年 12月号に掲載
Java 特集 - Java リフレクション が簡単に
その他 - iP ! (アイピー) 2008年 04月号に掲載
Java 日付・時刻 - Java 日付の妥当性・存在チェック
Java 日付・時刻 - Java 月末日付を取得する
Java 日付・時刻 - Java 現在(今日)の曜日を求める
Java 日付・時刻 - Java 日付文字列をDate型へ変換
Java 日付・時刻 - Java あらゆる日付・時刻文字列をDate、Calendar型へ
更新履歴 - 更新履歴 2006
Java 文字列 - Java 文字列内のURLをリンクに変換
Java ネットワーク - Java 実行しているマシンのホスト名を取得
Java ネットワーク - Java IPアドレスからホスト名を取得
Java Swing - Java システムアイコンを抽出
Java Swing - Java クリップボードへコピー
Thanks Links・リンク集 - リンク集・その他お勧め