获取两个日期之间的日期间隔
2011-12-05 10:14
239 查看
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));
//从此运行的结果来看是有问题的,就是在求日期的时候,换算成为秒数之后再去求时间是比较准的。
}
}
相关文章推荐
- PHP获取两个时间之间的年和月份及间隔天数 PHP两个日期之间的所有日期
- java获取两个字符串日期之间间隔的天数
- Android获取两个日期之间间隔的天数
- java获取两个字符串日期之间的时间间隔天数,以及遍历这些天数
- PHP获取两个时间之间的年和月份及间隔天数 PHP两个日期之间的所有日期
- 获取两个日期之间的间隔天数
- 获取两个日期之间的间隔天数
- 获取两个日期之间的间隔(天数,月数等)
- PHP 如何获取两个时间之间的年和月份及间隔天数 PHP两个日期之间的所有日期
- Android获取两个日期之间间隔的天数
- php获取两个日期之间的间隔天数
- js获取两个日期之间间隔的天数。兼容IE6、7、8、9,Firefox,Chrome
- PHP 如何获取两个时间之间的年和月份及间隔天数 PHP两个日期之间的所有日期
- PHP获取两个时间之间的年和月份及间隔天数 PHP两个日期之间的所有日期
- 求两个日期之间间隔的天数,Python实现
- 获取 Access 数据库中两个日期之间的所有记录
- Python获取两个日期之间的列表
- iOS 判断两个日期之间的间隔
- js得到两个日期之间间隔的天数
- 求两个日期之间间隔的天数,Python实现