4

現在、2 つの Date オブジェクトがあります。どちらも同じロケールを使用して同じデバイスで生成されます。

1 を使用して生成されます

SimpleDateFormat FORMATTER = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z");
Date date1 = FORMATTER.parse(date_string);

別のものは、を使用して生成されます

Date date2 = new Date();

ここで、2 つの日付が同じ日かどうかを比較したいと思います。

Comparing two java.util.Dates to see if they are in the same dayによると、使用できます

Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
boolean sameDay = cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) &&
                  cal1.get(Calendar.DAY_OF_YEAR) == cal2.get(Calendar.DAY_OF_YEAR);

リソースが限られているモバイル デバイスでコードを実行しているので、Date の非推奨の方法を使用している場合、何が問題になる可能性があるのでしょうか?

date1.getYear() == date2.getYear() && date1.getMonth() == date2.getMonth() && date1.getDate() == date2.getDate()

http://user.xmission.com/~goodhill/dates/datedeprecation.htm

Date多くの人が、単独では国際化をうまく処理できないと話していることを私は知っています。しかし、上記のシナリオで、非推奨の方法を使用していると問題が発生する可能性があることを証明できる確かな例はありますか?

4

2 に答える 2