私は英国とアイルランドの人々だけが使用するAndroidアプリを持っていますが、このアプリを海外で使用する予定はありません。
アプリでは、さまざまな日付を保存しますが、時刻を含む完全なタイムスタンプは必要ありませんが、必要なのは日付だけです。
日付を簡単に比較できるように、カレンダーオブジェクトを作成して時刻の値をクリアし、そのミリ秒を使用してデータベースに格納しています。
public Calendar clearCalTime(long l) {
Calendar cal = Calendar.getInstance();
cal.setFirstDayOfWeek(Calendar.MONDAY);
cal.setTimeInMillis(l);
cal.clear(Calendar.HOUR);
cal.clear(Calendar.HOUR_OF_DAY);
cal.clear(Calendar.MINUTE);
cal.clear(Calendar.SECOND);
cal.clear(Calendar.MILLISECOND);
return cal;
}
問題は、ユーザーがタイムゾーンを変更すると、たとえば間違った日に保存するなど、何らかの理由で日付が乱れ始めることです。タイムゾーンは何でもかまいません。ユーザーが設定する内容を制御することはできません。
タイムゾーンをUTCに設定しようとしましたが、これも機能しません。タイムゾーンを無視する方法はありますか?