با سلام.
من میخوام که برنامه در یک تاریخ و ساعت مشخص کاری را انجام بدهد.
کلیدهای 2981 و 2983 رو خوندم و از اونها برای ایجاد یک تایمر استفاده کردم و کد زیر را نوشتم:
این هم که تابع componentTimeToTimestamp :
در این مثال قرار هست که حدود 4 روز دیگر این تایمر کاری را انجام بدهد.
اما مقدار Remind عددی بیش از این را نشان میدهد(برای این مثال حدود 2948829 ثانیه) یعنی حدود 34 روز دیگر.
به نظر شما مشکل کجاست؟؟
باتشکر
من میخوام که برنامه در یک تاریخ و ساعت مشخص کاری را انجام بدهد.
کلیدهای 2981 و 2983 رو خوندم و از اونها برای ایجاد یک تایمر استفاده کردم و کد زیر را نوشتم:
کد پیاچپی:
long mili_time = System.currentTimeMillis();
long Current_time = mili_time / 1000L; // زمان فعلی به ثانیه
long Goal_time = componentTimeToTimestamp(2016, 2, 2, 9, 0, 0); // زمان هدف به ثانیه
long remind = Goal_time - Current_time; // زمان باقیمانده برای سپری شدن به ثانیه
این هم که تابع componentTimeToTimestamp :
کد پیاچپی:
long componentTimeToTimestamp(int year, int month, int day, int hour, int minute, int second)
{
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month);
c.set(Calendar.DAY_OF_MONTH, day);
c.set(Calendar.HOUR, hour);
c.set(Calendar.MINUTE, minute);
c.set(Calendar.SECOND, second);
c.set(Calendar.MILLISECOND, 0);
return (long) (c.getTimeInMillis() / 1000L);
}
در این مثال قرار هست که حدود 4 روز دیگر این تایمر کاری را انجام بدهد.
اما مقدار Remind عددی بیش از این را نشان میدهد(برای این مثال حدود 2948829 ثانیه) یعنی حدود 34 روز دیگر.
به نظر شما مشکل کجاست؟؟
باتشکر