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++);
}