あなたはそれが彼がVIPを始め30Dに第二に、正確に期限切れにしたい場合は、この使用することができます:チェックするために、あなたのmainActivityののonCreateに
SharedPreferences.editor editor1= getSharedPreferences("vipexpire", MODE_PRIVATE).edit();
editor1.putInt("starttime", (int) System.currentTimeMillis()/1000);
editor1.apply();
:タイマーを開始する
をあなたは、この場合には全くローカルな情報を格納してはならない
SharedPreferences vipTimer= getSharedPreferences("vipexpire", MODE_PRIVATE);
int startTime= vipTimer.getInt("starttime", 0);
int currentTime = System.currentTimeMillis()/1000;
int timeofVip= currentTime - startTime; //calculate the time of his VIP-being time
if (timeofVip>= 2592000) //2592000 is 30 days in seconds
{
//30 days over, update user to non-vip
}
豊富な日時処理クラスとライブラリを使用してどのような試みを行っていますか?私たちはコード作成サービスではありません。 – hexafraction
私は、あなたのサーバーのタイムゾーンにタイムスタンプを書き、あなたのユーザ名とともにデータベースに書き込むのが好きです。これにより、ユーザが自分のローカルクロックを変更するという問題を回避することができます。 –
'System.currentTimeMillis()+ TimeUnit.DAYS.toMillis(30)'そして現在の時刻でチェックします。これはちょうど30 * 24時間ですので、通常は00:00にキャップする「30日以内」とは少し違って見えることがあります。 – zapl