Android / Java-日期差异(天)

我正在使用以下代码获取当前日期(格式为12/31/1999,即mm / dd / yyyy):

Textview txtViewData;

txtViewDate.setText("Today is " +

android.text.format.DateFormat.getDateFormat(this).format(new Date()));

我还有另一个日期格式为:2019-08-25(即yyyy / mm / dd),

所以我想找出日期之间的天数差异,如何找到天数上的差异?

(换句话说,我想找到当前日期-yyyy / mm / dd格式化日期之间的差异)

回答:

并不是真正可靠的方法,最好使用JodaTime

  Calendar thatDay = Calendar.getInstance();

thatDay.set(Calendar.DAY_OF_MONTH,25);

thatDay.set(Calendar.MONTH,7); // 0-11 so 1 less

thatDay.set(Calendar.YEAR, 1985);

Calendar today = Calendar.getInstance();

long diff = today.getTimeInMillis() - thatDay.getTimeInMillis(); //result in millis

这是一个近似值…

long days = diff / (24 * 60 * 60 * 1000);

要从字符串中解析日期,你可以使用

  String strThatDay = "1985/08/25";

SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");

Date d = null;

try {

d = formatter.parse(strThatDay);//catch exception

} catch (ParseException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

Calendar thatDay = Calendar.getInstance();

thatDay.setTime(d); //rest is the same....

但是,由于你确定日期格式Integer.parseInt(),因此也可以在子字符串上执行操作以获取其数字值。

以上是 Android / Java-日期差异(天) 的全部内容, 来源链接: utcz.com/qa/397389.html

回到顶部