タグ

ブックマーク / www.coppermine.jp (3)

  • JSR-310解説 その2:java.util.Dateとの相互変換 - k.hasunuma's programming studio

    JSR-310の具体的なコーディング例を示すに当たって、まず既存APIとの相互変換を行うコーディング例について検討したいと思います。Java SE 8が普及しJSR-310のAPIが広く使われるようになるまでの過渡期には、このような変換が真っ先に必要になるからです。 まずはじめに、JSR-310のAPI群はその規模・設計思想の違いから、既存のjava.util.Dateやjava.util.Calendarといったクラスとの互換性はあまり考慮されていません。一応、両者の橋渡し役としてはInstantが使用されることになっていて、java.util.Date、java.util.Calendar、java.util.GregorianCalendarにはJSR-310のInstantを取り扱うコンストラクタとメソッドが追加される予定です。以下にjava.util.Dateに追加される予定のコ

  • JSR-310解説 その1:基本的な概念 - k.hasunuma's programming studio

    Java SEの次世代日付・時刻APIの仕様であるJSR-310が、ようやくJava SE 8に統合される見通しとなりました。従来の日付・時刻APIであるjava.util.Dateやjava.util.Calendarと比べると、APIの数には驚かされるばかりですが、日付と時刻について真摯に向き合った結果と言っていいかもしれません(それでもなお、数が多いと思いますが...)。 さて、今回からしばらくJSR-310の解説を行いたいと思います。JSR-310の参照実装としては、現在SourceForgeにて「ThreeTen」プロジェクトという形で進められています。今回の連載では、断りのない限りドラフト版である0.6.3の仕様をベースに話を進めてゆきます。 基概念(1)―InstantとDuration JSR-310を語る上で避けて通れないのが、InstantとDurationという2つ

  • java.util.Date―その悲劇と歴史 - k.hasunuma's programming studio

    今回はJavaプログラマにはおなじみ、java.util.Dateについて考察します。 java.util.Dateは、Javaの初版から含まれているAPIで、これまでに使い勝手の悪さを散々叩かれながらも、いまだリプレイスされずに使われ続けている、とても残念なクラスです。このクラスに対する苦情を挙げていくと、思いつくだけでも、 日付・時刻フィールドを直接設定できない(一応可能ではあるが非推奨である)。 月フィールドが 0 から始まる(ただしget/setするメソッドは非推奨である)。 CalendarやTimeZoneなしでは時差を表現できない。 DateFormatがなければ(あっても?)まともに文字列表現も生成できない。 toString() の出力形式が最近主流のISO 8601形式でない。 日時の加算や減算ができない(Calendarの使い勝手の悪いメソッドを使えば可能)。 JDK

    yamkazu
    yamkazu 2011/06/13
  • 1