我需要使用Java来区分两个日期。我需要我的结果是月份和月份。
示例:
Startdate = 2015-04-03 enddate = 2015-05-03结果应为2015年5月APR
Startdate = 2015-12-03 enddate = 2015-01-03结果应该是DEC-2015,JAn-2016
我需要将该值设置为textview如何设置此plz帮助我。
答案 0 :(得分:1)
String startdate = "2015-11-30";
String enddate = "2016-1-30";
DateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
DateFormat outputFormater = new SimpleDateFormat("MMM-yyyy");
Calendar beginCalendar = Calendar.getInstance();
Calendar finishCalendar = Calendar.getInstance();
try {
beginCalendar.setTime(formater.parse(startdate));
finishCalendar.setTime(formater.parse(enddate));
if (beginCalendar.get(Calendar.MONTH) != finishCalendar.get(Calendar.MONTH)){
beginCalendar.set(Calendar.DAY_OF_MONTH, 1);
finishCalendar.set(Calendar.DAY_OF_MONTH, 2);
}
do {
// add one month to date per loop
String month_year = outputFormater.format(beginCalendar.getTime());
Log.d("Date_Range", month_year);
beginCalendar.add(Calendar.MONTH, 1);
} while (beginCalendar.before(finishCalendar));
} catch (ParseException e) {
e.printStackTrace();
}
因此,您将以MMM-yyyy格式获得开始日期和结束日期之间的月份和年份。您可以通过拆分month_year string @“ - ”separator来按照您想要的方式处理结果。
答案 1 :(得分:0)
您可以使用SimpleDateFormat
编辑:试试这个
SimpleDateFormat formatter = new SimpleDateFormat("yyyy");
通过获取日历年份来检查您的日期是否在同一年。
int year1=Integer.pareInt(formatter.format(calendar1.getTime()));
int year2=Integer.pareInt(formatter.format(calendar2.getTime()));
year=year1-year2;
然后根据年份打印结果
formatter=new SimpleDateFormat("MMM");
if(year==0)
System.out.println(formatter.format(calendar1)+"-"+formatter.format(calendar2)+" "+ year);
else
System.out.println(formatter.format(calendar1)+"-"+year1+","+formatter.format(calendar2)+"-"+year2);