-3

我想从选择的日期中找到到期日,但没有得到。所以请帮助我如何获得到期日。下面是我的代码。

Calendar date = Calendar.getInstance();
date.setTimeInMillis(date_in_mil);
date.add(Calendar.DAY_OF_WEEK_IN_MONTH, 40);

这是我正在创建的怀孕应用程序。

4

2 回答 2

1

您正在将 40 添加到月份中的星期几。与您实际想要的相比,这具有不同的表示形式。试试这个

date.add(Calendar.DAY_OF_YEAR, 40);

请在此处阅读官方文档


编辑


这是完整的解决方案:

String currentDate = "01/05/2017"; 

try { 
  Date curentDateObj = new SimpleDateFormat("dd/mm/yyyy").parse(currentDate); 
  Calendar calendar = Calendar.getInstance(); 
  calendar.setTime(curentDateObj); 
  calendar.add(Calendar.WEEK_OF_YEAR, 40); 
  System.out.println(calendar.getTime()); 
} catch (ParseException e) { 
  e.printStackTrace(); 
} 
于 2017-06-06T05:24:11.210 回答
1

所以你想从以毫秒为单位提供的那一天起获得 40 天?

Calendar date = Calendar.getInstance();
date.setTimeInMillis(date_in_mil);
date.add(Calendar.DAY_OF_YEAR, 40);

或者(根据您的评论): Calendar date = Calendar.getInstance(); //这已经是当前日期 date.add(Calendar.DAY_OF_YEAR, 40);

您的问题是您使用的是 DAY_OF_WEEK_IN_MONTH 而不是 DAY_OF_WEEK

于 2017-06-06T05:27:20.950 回答