Calendar start = new GregorianCalendar(2004, Jan, 1);
Calendar end = new GregorianCalendar(); for(;;) {
System.out.print(start.获得日期字符串格式);
start.add(天,1);
if(start.equals(end))
break;
}上述代码纯示意性。自己改正
Calendar end = new GregorianCalendar(); for(;;) {
System.out.print(start.获得日期字符串格式);
start.add(天,1);
if(start.equals(end))
break;
}上述代码纯示意性。自己改正
解决方案 »
- 关于控制每行输出个数的问题
- 关于PDFBox 和 xpdf 的问题,困扰好几天了,求助高手~~
- 没有为类型 TableDemo.DataModel 定义方法 fireTableDatachanged()
- Application Dialog ??
- 请教各位大侠:java中能否有方法返回本机空闲端口号?
- 如何将System.out.println();的内容转向到座JTextField控件中
- java读文本文件的问题?
- 怎樣彈出仰慕像vc里的一樣的MessageBox?
- 真心求教java线程问题
- 一个小程序遇到的问题 请指教
- 哪里可以下载中文版的netbean3.5 或者3.6
- 哪一种数据库执行更好些?
public static void main(String[] args){
Date today=new Date();
Date printday=new Date();
printday.setYear(104);
printday.setMonth(0);
printday.setDate(1);
for(int n=1;printday.before(today);n++){
System.out.println(""+(printday.getYear()+1900)+"-"+(printday.getMonth()+1)+"-"+printday.getDate());
printday.setDate(printday.getDate()+1);
if(printday.getMonth()==12){
printday.setMonth(0);
printday.setYear(printday.getYear()-1);
}
}
System.out.println(""+(today.getYear()+1900)+"-"+(today.getMonth()+1)+"-"+today.getDate());
}
}上面的程序是我用的老版本JDK的方法写的,如果要改成楼上的写法还是你自己改吧
start.add(Calendar.DATE,1);
import java.text.*;class CalendarTest
{
public static void main(String[] args) throws Exception
{
DateFormat format=new SimpleDateFormat("yyyy-MM-dd");
Date begin=format.parse("2004-1-1");
Date now=new Date();
Calendar c1=Calendar.getInstance();
Calendar c2=Calendar.getInstance();
c1.setTime(begin);
c2.setTime(now);
while(c1.before(c2)){
System.out.println(format.format(c1.getTime()));
c1.add(Calendar.DAY_OF_YEAR,1);
} }
}
import java.sql.*;
import java.text.*;
import java.util.*;
import java.util.Date;
public class TimeHelper
{ /**
* 将原时间加参数天,返回时间。返回时间格式:0返回date,1返回datetime
* @param beginTime String
* @param dayAmount int
* @param returnFormat int
* @return String
*/
public static String addDays(String beginTime, int dayAmount, int returnFormat)
{
try
{
if (beginTime == null)
{
return null;
}
DateFormat df;
if (returnFormat == 0)
{
df = DateFormat.getDateInstance(DateFormat.DEFAULT, Locale.SIMPLIFIED_CHINESE);
}
else if (returnFormat == 1)
{
df = DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.DEFAULT, Locale.SIMPLIFIED_CHINESE);
}
else
{
return null;
}
Date _beginTime = df.parse(beginTime);
GregorianCalendar gc_beginTime = new GregorianCalendar(Locale.SIMPLIFIED_CHINESE);
gc_beginTime.setTime(_beginTime);
gc_beginTime.add(GregorianCalendar.DATE, dayAmount);
String result = df.format(gc_beginTime.getTime());
return result;
}
catch (ParseException ex)
{
ex.printStackTrace();
return null;
}
}
/**
* 得到相隔的时间天数
* @param beginTime String
* @param endTime String
* @return int
*/
public static Integer getDays(String beginTime, String endTime)
{
try
{
if (beginTime == null || endTime == null)
{
return null;
}
DateFormat df = DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.DEFAULT, Locale.SIMPLIFIED_CHINESE);
Date _beginTime = df.parse(beginTime);
Date _endTime = df.parse(endTime);
GregorianCalendar gc_beginTime = new GregorianCalendar(Locale.SIMPLIFIED_CHINESE);
GregorianCalendar gc_endTime = new GregorianCalendar(Locale.SIMPLIFIED_CHINESE);
gc_beginTime.setTime(_beginTime);
gc_endTime.setTime(_endTime);
int result = getDays(new GregorianCalendar(gc_beginTime.get(gc_beginTime.YEAR), gc_beginTime.get(gc_beginTime.MONTH), gc_beginTime.get(gc_beginTime.DAY_OF_MONTH), gc_beginTime.get(gc_beginTime.HOUR_OF_DAY), gc_beginTime.get(gc_beginTime.MINUTE), gc_beginTime.get(gc_beginTime.SECOND)), new GregorianCalendar(gc_endTime.get(gc_endTime.YEAR), gc_endTime.get(gc_endTime.MONTH), gc_endTime.get(gc_endTime.DAY_OF_MONTH), gc_endTime.get(gc_endTime.HOUR_OF_DAY), gc_endTime.get(gc_endTime.MINUTE), gc_endTime.get(gc_endTime.SECOND)));
return new Integer(result);
}
catch (ParseException ex)
{
ex.printStackTrace();
return null;
}
} /**
* 得到相隔的时间天数
* @param g1 GregorianCalendar
* @param g2 GregorianCalendar
* @return int
*/
private static int getDays(GregorianCalendar g1, GregorianCalendar g2)
{
int elapsed = 0;
GregorianCalendar gc1, gc2; if (g2.after(g1))
{
gc2 = (GregorianCalendar) g2.clone();
gc1 = (GregorianCalendar) g1.clone();
}
else
{
gc2 = (GregorianCalendar) g1.clone();
gc1 = (GregorianCalendar) g2.clone();
} gc1.clear(Calendar.MILLISECOND);
gc1.clear(Calendar.SECOND);
gc1.clear(Calendar.MINUTE);
gc1.clear(Calendar.HOUR_OF_DAY); gc2.clear(Calendar.MILLISECOND);
gc2.clear(Calendar.SECOND);
gc2.clear(Calendar.MINUTE);
gc2.clear(Calendar.HOUR_OF_DAY); while (gc1.before(gc2))
{
gc1.add(Calendar.DATE, 1);
elapsed++;
}
return elapsed;
} public static void main(String[] args)
{
Integer days = getDays("2004-01-01 0:0:0", "2005-01-18 0:0:0");
String day = "2004-01-01 0:0:0";
for (int i = 0; i < days.intValue(); i++)
{
day = addDays(day,1,0);
System.out.println(day);
}
}
}