Java初心者です。
Javaで日付を扱うクラスはDateとCalendarの2種類あるらしいことはわかるのですが、2つの違いがいまいち分かりません。
使い分けのポイントってあるのでしょうか?
よろしくおねがいします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
参考情報を紹介します。
"java.util.Date", "java.util.Calendar" だけでなく "Date and Time API" というのもあるのです。
- Date and Time API 徹底攻略 http://www.coppermine.jp/docs/programming/2014/03/date-and-time-api-1.html
...
Java SE 8 がリリースされ、新APIの目玉の一つである "Date and Time API" に関する記事が増えてきたように思えます。
...
そもそも、従来の java.util.Date/java.util.Calendar と Date and Time API がどう違うかというと、元となった規格が全く異なる上、その両者に互換性がないことです。Date や Calendar の大幅な焼き直しと思って Date and Time API を見ると十中八九破滅します。java.util.Date は Unix time (C言語における time_t) をベースにしたもので、後に java.util.Calendar が追加されると、実装が Calendar のコア部分のラッパーに置き換えられました。表現可能な日付・時刻はシステムのローカル時間帯と、内部実装で使用している UTC のみです。
java.util.Calendar は、JDK 1.1 における国際化対応の一環として導入されたもので、既存の java.util.Date の互換性を維持するために別クラスとしたものです。java.util.Date と異なり任意のタイムゾーンの日付・時刻を表現できますが、インタフェースの出来は散々です。なお、こちらも Unix time ベースの実装です。
Date and Time API は、情報通信における日付・時刻表期の国際規格である ISO 8601 をベースに、ユーティリティを追加したフレームワークです。そもそも Unix time と ISO 8601 の間に互換性はないため、java.util.Date/java.util.Calendar との相互変換には手間がかかります。
...
投稿2014/09/27 03:43
総合スコア22324
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/09/29 01:59