public class TestDate {
public static void main(String[] args) throws ParseException {
//获取当前月份的最大天数。
//获取本月日历。
Calendar c= Calendar.getInstance();
int day=c.getFirstDayOfWeek();
System.out.println(c);
@SuppressWarnings("unused")
int day1=c.getActualMaximum(Calendar.DAY_OF_MONTH);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM\t"+day);
System.out.println(sdf.format(new Date()));
//设置当前为本月第一天。
c.set(Calendar.DATE,1);
//把日历中天数减一得到最后一天。
c.set(Calendar.DATE, -1);
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf1.format(c.getTime()));
//2、获取当前月份第一天。
SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-01");
System.out.println(sdf2.format(new Date()));
//计算两个相隔时间之间的天数,把两个时间转换成毫秒数然后相减,然后再转换成天数。
SimpleDateFormat sdf3=new SimpleDateFormat("yyyy/MM/dd");
//开始日期。
Date begin=sdf3.parse("2009/10/10");
Date end=sdf3.parse("2009/10/15");
long dayinterval=((end.getTime()/1000)-(begin.getTime()/1000))/(60*60*24);
Date begin1=sdf3.parse("2008/10/10");
Date end1=sdf3.parse("2009/10/12");
long dayinterval1=(end1.getTime()-begin1.getTime())/(60*60*24*1000);
//由此可见其实只要是你的算法没有错误,那么结果就是正确的。
System.out.println("相隔的天数为"+dayinterval);
System.out.println("相隔的天数为"+dayinterval1);
System.out.println(begin.getTime());
Date d1=new Date();
SimpleDateFormat sdf8=new SimpleDateFormat("yyyy/MM/dd-hh:mm:ss");
System.out.println(sdf8.format(d1));
long beforeTime = (d1.getTime())-60*60*24*365*1000;
long beforeTime1 = (d1.getTime()/1000)-60*60*24*365;
d1.setTime(beforeTime);
System.out.println(sdf2.format(d1));
d1.setTime(beforeTime1*1000);
System.out.println(sdf2.format(d1));
//从此运行的结果来看是有问题的,就是在求日期的时候,换算成为秒数之后再去求时间是比较准的。
}
}
public static void main(String[] args) throws ParseException {
//获取当前月份的最大天数。
//获取本月日历。
Calendar c= Calendar.getInstance();
int day=c.getFirstDayOfWeek();
System.out.println(c);
@SuppressWarnings("unused")
int day1=c.getActualMaximum(Calendar.DAY_OF_MONTH);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM\t"+day);
System.out.println(sdf.format(new Date()));
//设置当前为本月第一天。
c.set(Calendar.DATE,1);
//把日历中天数减一得到最后一天。
c.set(Calendar.DATE, -1);
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf1.format(c.getTime()));
//2、获取当前月份第一天。
SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-01");
System.out.println(sdf2.format(new Date()));
//计算两个相隔时间之间的天数,把两个时间转换成毫秒数然后相减,然后再转换成天数。
SimpleDateFormat sdf3=new SimpleDateFormat("yyyy/MM/dd");
//开始日期。
Date begin=sdf3.parse("2009/10/10");
Date end=sdf3.parse("2009/10/15");
long dayinterval=((end.getTime()/1000)-(begin.getTime()/1000))/(60*60*24);
Date begin1=sdf3.parse("2008/10/10");
Date end1=sdf3.parse("2009/10/12");
long dayinterval1=(end1.getTime()-begin1.getTime())/(60*60*24*1000);
//由此可见其实只要是你的算法没有错误,那么结果就是正确的。
System.out.println("相隔的天数为"+dayinterval);
System.out.println("相隔的天数为"+dayinterval1);
System.out.println(begin.getTime());
Date d1=new Date();
SimpleDateFormat sdf8=new SimpleDateFormat("yyyy/MM/dd-hh:mm:ss");
System.out.println(sdf8.format(d1));
long beforeTime = (d1.getTime())-60*60*24*365*1000;
long beforeTime1 = (d1.getTime()/1000)-60*60*24*365;
d1.setTime(beforeTime);
System.out.println(sdf2.format(d1));
d1.setTime(beforeTime1*1000);
System.out.println(sdf2.format(d1));
//从此运行的结果来看是有问题的,就是在求日期的时候,换算成为秒数之后再去求时间是比较准的。
}
}