JAVA得到一个指定日期范围内每天的开始时间和结束时间
跨越年份月份也没有问题
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 得到指定日期内每天的开始时间和结束时间
* @author wjq
*/
public class StartTimeToEndTime {
public static void main(String[] args) {
try {
String s1 = "2014-01-21";
String s2 = "2014-03-07";
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
long start = df.parse(s1).getTime();
long end = df.parse(s2).getTime();
for (long i = start; i < end + (1000 * 24 * 3600); i = i + (1000 * 24 * 3600)) {
Date date = new Date();
date.setTime(i);
String da = df.format(date);
String ss1 = da + " 00:00:00";
String ss2 = da + " 23:59:59";
Date parse = fmt.parse(ss1);
Date parse2 = fmt.parse(ss2);
System.out.println("秒1:" + parse.getTime() / 1000);
System.out.println("秒2:" + parse2.getTime() / 1000);
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date2 = new Date(parse.getTime());
Date date3 = new Date(parse2.getTime());
String format = formatter.format(date2);
String format2 = formatter.format(date3);
System.out.println(format);
System.out.println(format2);
System.out.println("-------------------------------------------------------------");
}
} catch (ParseException e) {
e.printStackTrace();
}
}
}
运行结果:
秒1:1393516800
秒2:1393603199
2014-02-28 00:00:00
2014-02-28 23:59:59
-------------------------------------------------------------
秒1:1393603200
秒2:1393689599
2014-03-01 00:00:00
2014-03-01 23:59:59
-------------------------------------------------------------