Android中怎么将EditText中的将当前时间更改为前一天?

已经获取到当前时间后(格式为 : 2017-02-08),怎么将其更改为2017-02-07,求解,当然要确保日期1号时能够推前一个月份,当元旦时要推前一年。还有闰年什么的都要注意。

2个回答

获取当前系统前一天日期
public static Date getNextDay(Date date) {

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

calendar.add(Calendar.DAY_OF_MONTH, -1);

date = calendar.getTime();

return date;

}

日期转换成字符串:

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");

String str=sdf.format(上面算出来的date);

public static String getPreDay(String currentDay) throws ParseException {
//一天24小时的毫秒数
final long nd = 24 * 3600 * 1000;
//确定日期转换格式
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
//将当前时间的字符串转换为Date
Date currentDate = simpleDateFormat.parse(currentDay);
//当前日期的毫秒数减去一天的毫秒数,得到前一天的毫秒数
long preDayTime = currentDate.getTime() - nd;
//将毫秒数转换为Date
Date preDate = new Date(preDayTime);
//转换为字符串格式
String preDay = simpleDateFormat.format(preDate);
return preDay;
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问