如何在Android中更改日期

时间:2018-06-28 13:00:38

标签: java android date simpledateformat

在我的应用中,我正在获取当前日期。如何更改日期早于或晚于1个月的日期?想象今天是28-06-2018,但我想显示28-05-2018。我怎样才能做到这一点?谢谢。

SimpleDateFormat dateFormat = new SimpleDateFormat(
                        "yyyy-MM-dd", Locale.getDefault());
                Date date = new Date();
                String textDate = dateFormat.format(date);
                Toast.makeText(context, "Today is: " + textDate, Toast.LENGTH_SHORT).show();

3 个答案:

答案 0 :(得分:3)

我想使用java.time API,在像这样使用LocalDate::plusMonthsLocalDate::minusMonths的地方更有用:

LocalDate date = LocalDate.parse("28-06-2018", DateTimeFormatter.ofPattern("dd-MM-yyyy"));

然后您可以添加月份:

date = date.plusMonths(1);

或删除月份:

date = date.minusMonths(1);

对于较早的Android(<26),… ThreeTen-Backport 项目中,大多数 java.time 功能都向后移植到Java 6和Java 7。在ThreeTenABP项目中进一步适用于Android。

答案 1 :(得分:1)

您可以使用Calendar类,请遵循以下代码。

在下面的代码中,如果您希望月份,我已减去年份

Calendar mCurrentDate = Calendar.getInstance();
                    int mYear = mCurrentDate.get(Calendar.YEAR) - 18;
                    int mMonth = mCurrentDate.get(Calendar.MONTH);
                    int mDay = mCurrentDate.get(Calendar.DAY_OF_MONTH);

                    mCurrentDate.set(mYear, mMonth, mDay);

                    mYear = mCurrentDate.get(Calendar.YEAR);
                    mMonth = mCurrentDate.get(Calendar.MONTH);
                    mDay = mCurrentDate.get(Calendar.DAY_OF_MONTH);

答案 2 :(得分:1)

通常为了处理日期,我更喜欢Calendar类。

日历类对于所有与日期相关的查询非常有用。

现在,您的问题是,您可以使用日历类轻松地将日期添加一个月

日历Calendar = Calendar.getInstance()://这将获取当前日期

calendar.add(Calendar.Month,1)//这会将1加到月份

就是这样。完成。使用SimoleDateFormat以所需的任何格式打印。