我想从选择日期找到到期日,但它没有得到。所以请帮助我如何获得截止日期。以下是我的代码如下。如何从选定的日期找到到期日?
Calendar date = Calendar.getInstance();
date.setTimeInMillis(date_in_mil);
date.add(Calendar.DAY_OF_WEEK_IN_MONTH, 40);
这是为我正在创建的怀孕应用程序。
我想从选择日期找到到期日,但它没有得到。所以请帮助我如何获得截止日期。以下是我的代码如下。如何从选定的日期找到到期日?
Calendar date = Calendar.getInstance();
date.setTimeInMillis(date_in_mil);
date.add(Calendar.DAY_OF_WEEK_IN_MONTH, 40);
这是为我正在创建的怀孕应用程序。
您正在将月份中的星期几添加到40。与您实际需要的相比,这具有不同的表示形式。 试试这个,而不是
date.add(Calendar.DAY_OF_YEAR, 40);
请阅读官方文档here
编辑
这里是完整的解决方案:
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();
}
好吧,但我想找到截止日期从选择日期,我是如此在截止日期计算器计数40周如此 –
这取决于你想要添加什么。如果您希望从今天开始添加40周,则将从Calendar.DAY_OF_YEAR更改为Calendar.WEEK_OF_YEAR。这将增加从一年到目前的 –
是+40周,但我得到错误c.setTimeInMillis(Long.parseLong(current_date));此行建议我能做些什么 –
所以你试图从毫秒提供的日期中获得40天?
Calendar date = Calendar.getInstance();
date.setTimeInMillis(date_in_mil);
date.add(Calendar.DAY_OF_YEAR, 40);
或者(从您的意见): 日历日期= Calendar.getInstance(); //这已经是当天 date.add(Calendar.DAY_OF_YEAR,40);
你的问题是,你正在使用DAY_OF_WEEK_IN_MONTH代替DAY_OF_WEEK
不,没有问题,但date.setTimeInMillis(date_in_mil);在这一行中得到错误,请帮助我 –
这里是我的代码 –
Calendar c = Calendar.getInstance(); year = c.get(Calendar.YEAR); month = c.get(Calendar.MONTH); day = c.get(Calendar.DAY_OF_MONTH); c.setTimeInMillis(Long.parseLong(current_date)); c.add(Calendar.WEEK_OF_YEAR,40); –
请添加更多信息。什么是date_in_mil?当你运行代码时会发生什么?你期望的结果是什么,你会得到什么结果? –
你想在date_in_mil的40天后得到一个日期吗? –
什么是截止日期?清楚地说明。 –