在我的应用中,我正在获取当前日期。如何更改日期早于或晚于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();
答案 0 :(得分:3)
我想使用java.time API,在像这样使用LocalDate::plusMonths
或LocalDate::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以所需的任何格式打印。