您的位置:首页 > 编程语言 > Java开发

java 计算时间差,还剩下xx天xx小时xx分xx秒

2016-02-18 16:23 513 查看

计算时间差,还剩下xx天xx小时xx分xx秒

使用:

final Handler handler = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
setDateInfo(milliseconds, textView);
handler.postDelayed(this, 1000);
}
};
runnable.run();


private void setDateInfo(long milliseconds, TextView textView) {
try {
Date currDate = new Date(System.currentTimeMillis());
Date endDate = new Date(milliseconds);
long diff = currDate.getTime() - endDate.getTime(); // 得到的差值是微秒级别,可以忽略
long days = diff / (1000 * 60 * 60 * 24);
long hours = (diff - days * (1000 * 60 * 60 * 24)) / (1000 * 60 * 60);
long minutes = (diff - days * (1000 * 60 * 60 * 24) - hours * (1000 * 60 * 60)) / (1000 * 60);
long seconds = (diff - days * (1000 * 60 * 60 * 24) - hours * (1000 * 60 * 60) - minutes * (1000 * 60)) / (1000);
textView.setText("订单将在"
+ ((2 - (days + 1)) < 0 ? "0" : (2 - (days + 1))) + "天"
+ (24 - (hours + 1)) + "小时"
+ (60 - (minutes + 1)) + "分"
+ (60 - (seconds + 1)) + "秒"
+ "自动关闭");
} catch (Exception e) {
e.printStackTrace();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息