SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd"); String begin = "20090908"; String end = "20090909"; Date beginDate = df.parse(begin); Date endDate = df.parse(end);Calendar c = Calendar.getInstance(); c.setTime(begin);List<String> list = new ArrayList<String>();while(c.before(end)){ list.add(df.format(c.getTime()); c.add(Calendar.DAY_OF_MONTH,1); }
好像没有什么算法 public class TestDay { /** * @param args */ public static void main(String[] args) { System.out.println(getDates("20090502", "20090506").toString()); } private static List<String> getDates(String startTime, String endTime) { List list = new ArrayList(); int start = Integer.parseInt(startTime); int end = Integer.parseInt(endTime); for (int i = start; i <= end; i++) { list.add(String.valueOf(i)); } return list; } }
public List<String> getDates(String startTime, String endTime) throws Exception { List<String> rs = new ArrayList<String>(); DateFormat df = new SimpleDateFormat("yyyyMMdd"); Date begin = df.parse(startTime); Date end = df.parse(endTime); long d = (end.getTime() - begin.getTime()) / (1000 * 60 * 60 * 24); Calendar c = Calendar.getInstance(); c.setTime(begin); for (int i = 1; i <= d + 1; i++) { rs.add(df.format(c.getTime())); c.add(Calendar.DATE, 1); } return rs; }
package test;import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List;public class TestGetDates { private TestGetDates() { } private static TestGetDates instance = null; public static synchronized TestGetDates getInstance() { if (instance == null) { instance = new TestGetDates(); } return instance; } List <String> getDates(String startTime,String endTime){ List<String> list =new ArrayList<String>(); try { Date start = new SimpleDateFormat("yyyyMMdd").parse(startTime); Date end = new SimpleDateFormat("yyyyMMdd").parse(endTime); while(start.getTime() <= end.getTime()){ list.add(new SimpleDateFormat("yyyyMMdd").format(start)); start = new Date(start.getTime() + 24*60*60*1000); }
public static void main(String[] args) throws Exception { List <String> list=TestGetDates.getInstance().getDates("20091121", "20091203"); for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } } }
List <String> getDates(String startTime,String endTime){ int k; int i=Integer.parseInt(startTime); int j=Integer.parseInt(endTime); for(k=i;k<=j;k++) { System.out.println(k); } }
import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List;public class test {
List <String> getDates(String startTime,String endTime){ //20090908,20090912 List list = null;
DateFormat df = new SimpleDateFormat("yyyyMMdd");
try { Date startDate = df.parse(startTime); Date endDate = df.parse(endTime);
list = new ArrayList(); int n = test.daysBetweenDates(startDate, endDate); for(int i=0;i<=n;i++) { System.out.println(df.format(test.getDateBetween(startDate, i))); list.add(df.format(test.getDateBetween(startDate, i))); }
/** * 计算日期间隔的天数 * @param beginDate 开始日期 * @param endDate 结束日期 * @return * @pre beginDate != null */ private static int daysBetweenDates(Date beginDate, Date endDate) { int days = 0; Calendar calo = Calendar.getInstance(); Calendar caln = Calendar.getInstance(); calo.setTime(beginDate); caln.setTime(endDate); int oday = calo.get(6); int nyear = caln.get(1); for (int oyear = calo.get(1); nyear > oyear;) { calo.set(2, 11); calo.set(5, 31); days += calo.get(6); oyear++; calo.set(1, oyear); } int nday = caln.get(6); days = (days + nday) - oday; return days; } /** * 计算间隔天数后的日期 * @param date * @param intBetween * @return * @pre date != null */ private static Date getDateBetween(Date date, int intBetween) { Calendar calo = Calendar.getInstance(); calo.setTime(date); calo.add(Calendar.DATE, intBetween); return calo.getTime(); }
public static void main(String[] args) { new test().getDates("20090908", "20090912");
}} 挺笨的一个方法,不过能用
public class DateTest { /** * @param args */ public static void main(String[] args)throws Exception { System.out.println(getDateList("20090817","20090923")); } private static List<String> getDateList(String startTime, String endTime)throws Exception { List list = new ArrayList(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); Date start = sdf.parse(startTime); Date end = sdf.parse(endTime);
public static void main(String[] args) { getDates("2008/05/26", "2009/08/01"); } public static ArrayList<String> getDates(String startTime, String endTime) { ArrayList<String> list = new ArrayList<String>(); Date d = new Date(); String dateFormatString = "yyyy/MM/dd"; SimpleDateFormat format = new SimpleDateFormat(dateFormatString); Date newDate = null; try { newDate = format.parse(startTime); while(newDate.toLocaleString().compareTo(endTime)<0){ int day = newDate.getDate()+1; newDate.setDate(day); System.out.println(newDate.toLocaleString()); list.add(newDate.toLocaleString()); }
private static void getTime(String startTime,String endTime) throws Exception { DateFormat df = new SimpleDateFormat("yyyyMMdd"); long start = df.parse(startTime).getTime(); long end = df.parse(endTime).getTime(); for(long i = start+1000*24*3600;i< end;i=i+(1000*24*3600)) { List<String> list = new ArrayList<String>(); Date date = new Date(); date.setTime(i); String da = df.format(date); list.add(da); } } }
import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; public class TestTime { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { // TODO Auto-generated method stub String startTime = "20090908"; String endTime = "20090910"; getTime(startTime, endTime); } private static void getTime(String startTime,String endTime) throws Exception { DateFormat df = new SimpleDateFormat("yyyyMMdd"); long start = df.parse(startTime).getTime(); long end = df.parse(endTime).getTime(); for(long i = start+1000*24*3600;i < end;i=i+(1000*24*3600)) { List <String> list = new ArrayList <String>(); Date date = new Date(); date.setTime(i); String da = df.format(date); list.add(da); } } }
可以实现跨月: import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List;import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException; public class dd {
private List test1(String startTime,String endTime) {
List <String> list = new ArrayList <String>();
try { DateFormat df = new SimpleDateFormat("yyyyMMdd"); long start = df.parse(startTime).getTime(); long end = df.parse(endTime).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); list.add(da); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }
return list;
} public static void main(String[] args) { dd t = new dd(); List l = t.test1("20091129", "20091205"); for (int i = 0; i < l.size(); i++) { System.out.println(l.get(i)); } } }
String begin = "20090908";
String end = "20090909";
Date beginDate = df.parse(begin);
Date endDate = df.parse(end);Calendar c = Calendar.getInstance();
c.setTime(begin);List<String> list = new ArrayList<String>();while(c.before(end)){
list.add(df.format(c.getTime());
c.add(Calendar.DAY_OF_MONTH,1);
}
public class TestDay
{ /**
* @param args
*/
public static void main(String[] args)
{
System.out.println(getDates("20090502", "20090506").toString()); } private static List<String> getDates(String startTime, String endTime)
{
List list = new ArrayList();
int start = Integer.parseInt(startTime);
int end = Integer.parseInt(endTime);
for (int i = start; i <= end; i++)
{
list.add(String.valueOf(i));
}
return list; }
}
public List<String> getDates(String startTime, String endTime)
throws Exception {
List<String> rs = new ArrayList<String>();
DateFormat df = new SimpleDateFormat("yyyyMMdd");
Date begin = df.parse(startTime);
Date end = df.parse(endTime);
long d = (end.getTime() - begin.getTime()) / (1000 * 60 * 60 * 24);
Calendar c = Calendar.getInstance();
c.setTime(begin);
for (int i = 1; i <= d + 1; i++) {
rs.add(df.format(c.getTime()));
c.add(Calendar.DATE, 1);
}
return rs;
}
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;public class TestGetDates { private TestGetDates() {
} private static TestGetDates instance = null; public static synchronized TestGetDates getInstance() {
if (instance == null) {
instance = new TestGetDates();
}
return instance;
} List <String> getDates(String startTime,String endTime){
List<String> list =new ArrayList<String>();
try {
Date start = new SimpleDateFormat("yyyyMMdd").parse(startTime);
Date end = new SimpleDateFormat("yyyyMMdd").parse(endTime);
while(start.getTime() <= end.getTime()){
list.add(new SimpleDateFormat("yyyyMMdd").format(start));
start = new Date(start.getTime() + 24*60*60*1000);
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list; }
public static void main(String[] args) throws Exception {
List <String> list=TestGetDates.getInstance().getDates("20091121", "20091203");
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
}
List <String> getDates(String startTime,String endTime){
int k;
int i=Integer.parseInt(startTime);
int j=Integer.parseInt(endTime);
for(k=i;k<=j;k++)
{
System.out.println(k);
}
}
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;public class test {
List <String> getDates(String startTime,String endTime){ //20090908,20090912
List list = null;
DateFormat df = new SimpleDateFormat("yyyyMMdd");
try {
Date startDate = df.parse(startTime);
Date endDate = df.parse(endTime);
list = new ArrayList();
int n = test.daysBetweenDates(startDate, endDate);
for(int i=0;i<=n;i++) {
System.out.println(df.format(test.getDateBetween(startDate, i)));
list.add(df.format(test.getDateBetween(startDate, i)));
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
return list;
}
/**
* 计算日期间隔的天数
* @param beginDate 开始日期
* @param endDate 结束日期
* @return
* @pre beginDate != null
*/
private static int daysBetweenDates(Date beginDate, Date endDate)
{
int days = 0;
Calendar calo = Calendar.getInstance();
Calendar caln = Calendar.getInstance();
calo.setTime(beginDate);
caln.setTime(endDate);
int oday = calo.get(6);
int nyear = caln.get(1);
for (int oyear = calo.get(1); nyear > oyear;)
{
calo.set(2, 11);
calo.set(5, 31);
days += calo.get(6);
oyear++;
calo.set(1, oyear);
} int nday = caln.get(6);
days = (days + nday) - oday;
return days;
} /**
* 计算间隔天数后的日期
* @param date
* @param intBetween
* @return
* @pre date != null
*/
private static Date getDateBetween(Date date, int intBetween)
{
Calendar calo = Calendar.getInstance();
calo.setTime(date);
calo.add(Calendar.DATE, intBetween);
return calo.getTime();
}
public static void main(String[] args) {
new test().getDates("20090908", "20090912");
}}
挺笨的一个方法,不过能用
* @param args
*/
public static void main(String[] args)throws Exception {
System.out.println(getDateList("20090817","20090923")); } private static List<String> getDateList(String startTime, String endTime)throws Exception
{
List list = new ArrayList();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Date start = sdf.parse(startTime);
Date end = sdf.parse(endTime);
Calendar calendar = Calendar.getInstance();
calendar.setTime(start);
while(start.before(end)){
list.add(sdf.format(start));
calendar.add(Calendar.DATE, 1);
start = calendar.getTime();
}
return list; }}
getDates("2008/05/26", "2009/08/01");
} public static ArrayList<String> getDates(String startTime, String endTime) {
ArrayList<String> list = new ArrayList<String>();
Date d = new Date();
String dateFormatString = "yyyy/MM/dd";
SimpleDateFormat format = new SimpleDateFormat(dateFormatString); Date newDate = null;
try {
newDate = format.parse(startTime);
while(newDate.toLocaleString().compareTo(endTime)<0){
int day = newDate.getDate()+1;
newDate.setDate(day);
System.out.println(newDate.toLocaleString());
list.add(newDate.toLocaleString());
}
} catch (ParseException e) {
// TODO Auto-generated catch blockj
e.printStackTrace();
}
return list;
}
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;public class TestTime { /**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
String startTime = "20090908";
String endTime = "20090910";
getTime(startTime, endTime);
}
private static void getTime(String startTime,String endTime) throws Exception
{
DateFormat df = new SimpleDateFormat("yyyyMMdd");
long start = df.parse(startTime).getTime();
long end = df.parse(endTime).getTime();
for(long i = start+1000*24*3600;i< end;i=i+(1000*24*3600))
{
List<String> list = new ArrayList<String>();
Date date = new Date();
date.setTime(i);
String da = df.format(date);
list.add(da);
}
}
}
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List; public class TestTime { /**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
String startTime = "20090908";
String endTime = "20090910";
getTime(startTime, endTime);
} private static void getTime(String startTime,String endTime) throws Exception
{
DateFormat df = new SimpleDateFormat("yyyyMMdd");
long start = df.parse(startTime).getTime();
long end = df.parse(endTime).getTime();
for(long i = start+1000*24*3600;i < end;i=i+(1000*24*3600))
{
List <String> list = new ArrayList <String>();
Date date = new Date();
date.setTime(i);
String da = df.format(date);
list.add(da);
}
}
}
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;
public class dd {
private List test1(String startTime,String endTime) {
List <String> list = new ArrayList <String>();
try {
DateFormat df = new SimpleDateFormat("yyyyMMdd");
long start = df.parse(startTime).getTime();
long end = df.parse(endTime).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);
list.add(da);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
public static void main(String[] args) {
dd t = new dd();
List l = t.test1("20091129", "20091205");
for (int i = 0; i < l.size(); i++) {
System.out.println(l.get(i));
}
}
}