■プロフィール

クリエイトウェーブスタッフ

Author:クリエイトウェーブスタッフ
開発における、諸々を書いていきたいなと思っています。

■最近の記事
■カテゴリー
■twitter

■QRコード

QR

■最近のコメント
■月別アーカイブ
■最近のトラックバック
■ブロとも申請フォーム
■twitter_follow

■ブログ内検索

■RSSフィード
■リンク
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


カテゴリー:スポンサー広告 |
ある日付から○○日後の日付を取得[iアプリ DoJa-5.1]
Pです。

JAVAのAPIを見るとCalendar.add()という、まさにそのものズバリな
メソッドがあるのですが、DoJa環境では使用出来ないようです。

仕方ないのでCalendar.getTime()でミリ秒計算して対応していたわけですが
最近もっと簡単な方法を見つけたのでメモ。

Calendar getLapsedDays(int year, int month, int date, int days)
{
 Calendar c = Calendar.getInstance();
 c.set(Calendar.YEAR, year);
 c.set(Calendar.MONTH, month);
 c.set(Calendar.DATE, date + days);
 return c;
}

Calendar c = getLapsedDays(2009,0,1,5);
System.out.println(
 c.get(Calendar.YEAR) + "/" +
 (c.get(Calendar.MONTH) + 1) + "/" +
 c.get(Calendar.DATE));


daysに10を入れると10日後→2009/1/11
-5を入れると5日前→2008/12/27
といった具合に取得できます。
年や月をまたいだり、閏年などの特殊ケースも問題なく動作します。

Calendar.set()にこんな使い方があるとは思いませんでした。


スポンサーサイト
カテゴリー:JAVA | TM(0) | CM(0)
次のページ

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。