玩转日历类Calendar——例子:获得给定时间字符串的前一个月时间的方法

来源:互联网 发布:鹏业算量软件 编辑:程序博客网 时间:2024/06/14 06:52
package www.DateTest;


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;


public class DateTest {
public static void  main(String[] args){
Date date=new Date();
SimpleDateFormat matter=new SimpleDateFormat("yyyyMMdd HH:mm:ss");
String time=matter.format(date);
System.out.println(time);
long ss=System.currentTimeMillis();
System.out.println(ss);
Calendar c=Calendar.getInstance();
String dateStr="2017-7-20";
String[] dateDivide=dateStr.split("-");
if(dateDivide.length==3){
int year=Integer.parseInt(dateDivide[0].trim());
int month=Integer.parseInt(dateDivide[1].trim());
int day=Integer.parseInt(dateDivide[2].trim());
c.set(year, month-1, day);
Date date1=c.getTime();
String time1=matter.format(date1);
System.out.println("date1"+date1+"时间:"+time1);
}

Calendar b=Calendar.getInstance();
int month1=b.get(Calendar.MONTH)+1;
int days=b.get(Calendar.DATE);
int year1=b.get(Calendar.YEAR);
System.out.println("year1="+year1+"    month1="+month1+"   day="+days);
//Calendar bb=Calendar.getInstance();//当前时间日历

                 /* 获得给定时间字符串的前一个月的方法

* */
try {
SimpleDateFormat strmatter=new SimpleDateFormat("yyyyMMdd");
Date date3 = strmatter.parse("20170719");
Calendar bb=new GregorianCalendar();
bb.setTime(date3);
String monthday=strmatter.format(bb.getTime());

int year2=bb.get(Calendar.YEAR);//获得年
int month2=bb.get(Calendar.MONTH)+1;//月
int date2=bb.get(Calendar.DATE);//日
bb.set(year2, month2-2, date2);
Date date21=bb.getTime();
System.out.println("date21="+date21);
String premonthday=strmatter.format(date21);//前一个月的时间

System.out.println("premonthday="+premonthday+ "  monthday="+monthday+"  date3:"+date3);
} catch (ParseException e) {
  e.printStackTrace();
}


}


}
阅读全文
0 0