Java日期的一些基本处理

今天工作中用到一些日期的处理。这里做一点浅显的整理。

1.日期的加减:

日期加减一般用到Calendar这个类比较好。这样不用处理12月加一个月和28、30、31、加一天等问题

String lastBeginDate="2015/12/23";

SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd");

Calendar c1 = Calendar.getInstance();
c1.setTime(sdf.parse(lastBeginDate));
c1.add(Calendar.MONTH,1);//加一个月

c1.add(Calendar.YEAR, 1);//加一年
c1.add(Calendar.DATE, -1);//加一天

System.out.println(sdf.format(c1.getTime()));

打印结果:2017/01/19

2.日期获取相隔天数

还没找到太好的方式:目前的方法是获取为long型然后转成天数

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
long to = df.parse("2008-1-25").getTime();
long from = df.parse("2008-1-20").getTime();
System.out.println((to - from) / (1000 * 60 * 60 * 24));(参考:http://bbs.csdn.net/topics/210070997 )

3.通过日期生成编号

private static long index= 100000L;
private static String getSerialNo(){
SimpleDateFormat sdf =new SimpleDateFormat("yyyyMMddHHmmssSSS");//需要的长度根据需要添加
return sdf.format(new Date())+(index++);
}

 

posted @ 2015-09-19 16:42  goodwell21  阅读(207)  评论(0编辑  收藏  举报