【发布时间】:2017-04-20 17:51:45
【问题描述】:
我需要计算到期日差。
我会得到这个纪元时间:
1481410800(2016 年 12 月 6 日(14:42))
现在我想计算距离到期日 (1481410800) 的天数
Calendar now = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy (HH:mm)", Locale.getDefault());
//Expiry Date
long unixSecondsExpiry = 1481410800; //unixSeconds
Date expiryDate = new Date(unixSecondsExpiry*1000L);
long currentDate = now.get(Calendar.SECOND);
long diff = unixSecondsExpiry - currentDate;
long days = diff / (24l * 60l * 60l * 1000l);
String formattedExpiryDate = sdf.format(expiryDate);
String formattedDateNow = sdf.format(new Date());
Log.w("RUNTEST", "formattedDateNow: " + formattedDateNow);
Log.w("RUNTEST", "formattedExpiryDate: " + formattedExpiryDate);
Log.w("RUNTEST", "days: " + days);
我一直有 17 天,但应该还有 5 天才能到期。
RUNTEST:formattedDateNow:2016 年 12 月 6 日 (14:42)
RUNTEST:格式化过期日期:2016 年 12 月 11 日 (07:00)
RUNTEST:天:17
【问题讨论】:
-
也是:stackoverflow.com/q/6218928 的副本。发帖前请先搜索 Stack Overflow。
标签: java android date time epoch