java里日期循环方法
问题1:首先这里的时间字段设定什么类型的 date还是String类型的
问题2:比如期初时间是当前时间, 开始循环7次 怎么写代码啊 qui大神指教 展开
可以通过日期的add(Calendar.MONTH, 1)方法进行月份切换,输出每个满足条件的值
Date d1 = new SimpleDateFormat("yyyy-MM").parse("2015-6");//定义起始日期
Date d2 = new SimpleDateFormat("yyyy-MM").parse("2016-5");//定义结束日期
Calendar dd = Calendar.getInstance();//定义日期实例
dd.setTime(d1);//设置日期起始时间
while(dd.getTime().before(d2)){//判断是否到结束日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
String str = sdf.format(dd.getTime());
System.out.println(str);//输出日期结果
dd.add(Calendar.MONTH, 1);//进行当前日期月份加1
}
输出结果:
//日期用Calendar 比较方便操作, 也不用自己去处理每个月最大天数之类的问题.
Calendar calendar = new GregorianCalendar();
for (int i = 0; i < 7; i++)
{
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1; // Jan = 0, not 1
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "/" + month + "/" + dayOfMonth);
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
2014-03-22
数据库如果你确定这个字段只存时间,那么肯定用datetime或者timestamp嘛,你自己应该再明确下你的设计需求和这两个字段类型的区别再做选择
如果你要对日期进行加减处理,建议你使用joda-time,是一个很简单易用的java处理日期和时间的API,你自己去搜一搜。当然也可以配合java自带的Calendar使用,反正就看你需要做什么了,使用joda-time可以很方便的帮你对天数,小时,分钟,秒进行加减,也就是plus和minus这两个对象可以直接调用的方法而已。
至于你说的循环7次,循环条件是什么啊?根据实际情况用while或者for就行啦。
2,转成java代码后用Calendar类来转,有个Calendar.add方法可以用循环加