2014年3月29日土曜日

Java(Android)時間操作ライブラリ

iOS に続いて, Java(Android)用に, 時間まわりのラリブラリを書きました GitHubで公開しています JavaDatekit build.xmlを準備しておきましたので, ant をお持ちの方は,
ant
で, dst/datekit.jar が作成されますので PureJavaでコーディングしていますので, Androidでも動きます

概要

時間操作に関わる操作を, Builderでまとめてみました. 基本的な操作はCalendarクラスを使って, Date, Calendarの相互の変換などを入れました Builderになっている部分で操作を行い, getのメソッドでデータを操作もしくは取得, format系のメソッドでString形式のデータを取得します

使い方

ソースコードをまるごとコピーする もしくは, antを使って, datekit.jar を作成してそれをライブラリとしてプロジェクトにコピーします(BuildPathを通します)

メソッド

コンストラクタ
  • public DateBuilder()
  • 初期化です現在時刻で初期化します
  • public DateBuilder( TimeZone zone )
  • TimeZoneを使って初期化します
  • public DateBuilder( Date date )
  • Dateを使って初期化します
builder系
  • public DateBuilder on( Date date )
  • Dateインスタンスをセットします
  • public DateBuilder addDay( int day )
  • day分だけ日にちを足します
  • public DateBuilder subDay( int day )
  • day分だけ日にちを引きます
  • public DateBuilder begin()
  • 日にちの最初00:00:00を取得します
  • public DateBuilder end()
  • 日にちの最後23:59:59を取得します
  • public DateBuilder firstDateOfMonth()
  •  現在月の最初の日を取得します
  • public DateBuilder lastDayOfMonth()
  •  現在月の最後の日を取得します
  • public DateBuilder nextMonthFirst()
  •  次の月の最初の日を取得します
  • public DateBuilder getFromYMD( int year, int month, int day )
  • 年, 月, 日をセットします
  • public DateBuilder getDayofDay( int day )
  • 曜日をセットします 0 日曜日, 6 土曜日
  • public DateBuilder getGMT()
  • GMTのタイムゾーンをセットします
get系
  • public int getYear()
  • 年を取得します
  • public int getMonth()
  •  月を取得します
  • public int getHour()
  • 時間を取得します(24h)
  • public int getSecond()
  • 秒を取得します
  • public Date getTime()
  • Dateインスタンスを取得します
  • public Calendar getCal()
  • Calendarインスタンスを取得します
  • public boolean isWeekDay()
  • WeekDay(ビジネスデイ)の判定をします
  • public boolean isWeekEnd()
  •  週末かどうかを判定します
  • public boolean before ( Calendar calendar )
  • 引数calendarとBuilderに保持している日時を比較して, 保持しているものが前ならtrueを返します
  • public boolean before ( Date date )
  • 引数dateとBuilderに保持している日時を比較して, 保持しているものが前ならtrueを返します
  • public boolean after ( Calendar calendar )
  • 引数calendarとBuilderに保持している日時を比較して, 保持しているものが後ならtrueを返します
  • public boolean after ( Date date )
  • 引数dateとBuilderに保持している日時を比較して, 保持しているものが後ならtrueを返します
  • public DateBuilder copy()
  • DateBuilderをコピーして新しいDateBuilderを作成します
format系 Builderで持っている情報をStringで返します
  • public String formatYear()
  • yyyy形式で返します
  • public String formatMonth()
  • MM形式で返します
  • public String formatDay()
  • dd形式で返します
  • public String formatA()
  • yyyy-MM-dd形式で返します
  • public String formatB()
  • yyyy/MM/dd形式で返します
  • public String formatFull()
  • yyyy/MM/dd HH:mm:ss形式で返します

サンプル

テストより 年, 月, 日をセットします
DateBuilder builder = new DateBuilder();
builder.getFromYMD(2014, 3, 11);  
System.out.println(builder.formatA());  // 2014/03/11
2014/03/11の00:00:00をCalendarインスタンスで取得します
Calendar cal = builder.getFromYMD(2014, 3, 11).begin().getCal();
GMT
DateBuilder builder = new DateBuilder(TimeZone.getTimeZone("GMT"));

0 件のコメント:

コメントを投稿