java 取某一日期前30天的日期?

suncheng_hong 2008-06-26 11:21:38
查过用Calendar。但没找到具体用法?请给出示例代码?谢谢
...全文
4526 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuhaiyang 2008-06-26
  • 打赏
  • 举报
回复
用法不是一样吗!把MONTH改DATE,-1改-30不就行了
M_song 2008-06-26
  • 打赏
  • 举报
回复
5楼,你那样是不行的,楼主要的是前30天的,并不是前一个月的!
M_song 2008-06-26
  • 打赏
  • 举报
回复
 Calendar theCa = Calendar.getInstance();
theCa.setTime(new Date());
theCa.add(theCa.DATE, -30);
Date date = theCa.getTime();
xuhaiyang 2008-06-26
  • 打赏
  • 举报
回复

GregorianCalendar gcNew=new GregorianCalendar();
gcNew.set(Calendar.MONTH, gcNew.get(Calendar.MONTH)-1);
Date dtFrom=gcNew.getTime();

显示当前日期前一个月的日期
M_song 2008-06-26
  • 打赏
  • 举报
回复
setTime(Date date)
使用给定的 Date 设置此 Calendar 的时间。
suncheng_hong 2008-06-26
  • 打赏
  • 举报
回复
可是Calendar如何与某一日期绑定,并没有传date的方式啊?
M_song 2008-06-26
  • 打赏
  • 举报
回复
Calendar add(int field, int amount)
根据日历的规则,为给定的日历字段添加或减去指定的时间量
用这个,减掉30天,然后getTime()得到Date就行了!
rascalboy520 2008-06-26
  • 打赏
  • 举报
回复

/**
* 得到给定日期N天后的日期
* @param num
* @return
*/
public static void do4(String datestr,int num) {
String pattern = "yyyy-MM-dd";
SimpleDateFormat format = new SimpleDateFormat(pattern);
try{
Date date1 = format.parse(datestr);
long time = date1.getTime()+(1000L * 60 * 60 * 24 * num);
Date date = new Date();
if (time > 0) {
date.setTime(time);
}
System.out.println(format.format(date));
}catch(Exception e){}
}
胡矣 2008-06-26
  • 打赏
  • 举报
回复

Calendar calendar=new GregorianCalendar();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-yy");
String dateStr = format.format(calendar.getTime());
System.out.println("当前日期是 "+dateStr);
calendar.add(Calendar.DATE, -30);
dateStr = format.format(calendar.getTime());
System.out.println("三十天前是 "+dateStr);
sunzhyng 2008-06-26
  • 打赏
  • 举报
回复
Calendar theCa = Calendar.getInstance();
theCa.setTime(new Date());
theCa.add(theCa.DATE, -30);
Date date = theCa.getTime();

正解
rascalboy520 2008-06-26
  • 打赏
  • 举报
回复
这个方法把num为负值,可得到当天前n天的日期,
rascalboy520 2008-06-26
  • 打赏
  • 举报
回复

/**
* 得到N天后的日期
* @param num
* @return
*/
public static String getDate(int num) {
long time = System.currentTimeMillis() + (1000L * 60 * 60 * 24 * num);
String pattern = "yyyy-MM-dd";
Date date = new Date();
if (time > 0) {
date.setTime(time);
}
SimpleDateFormat format = new SimpleDateFormat(pattern);
return format.format(date);
}
hotleavegjz 2008-06-26
  • 打赏
  • 举报
回复
Calendar calendar=new GregorianCalendar();
System.out.println("当时日期是:"+calendar.getTime());
calendar.add(Calendar.DATE, -30);
System.out.println("30天前是:"+calendar.getTime());

要获得calendar的相应field值, 可以用calendar.get(int field)来取.
field可以是Calendar.Date, Month, Year, DayOfMonth, DayOfWeek等.
目 录 言 3 1需求分析 3 1.1需求分析 3 1.2功能设计 3 2.概要设计 3 2.1程序设计思路 3 2.2程序运行界面 4 2.3流程图 5 3.各模块的功能及程序说明 6 3.1.初始化组件 6 3.2.初始化数据 6 3.3.绘制程序界面 7 4.测试分析 8 5.源程序清单 10 6.课程设计体会 18 参考文献 19 Java身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发 现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。 1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言 及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效 能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解 决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目在众多的支持Java 的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重 要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工 具。 1需求分析 1.1需求分析 本程序的要求为:1.使用图形用户界面;2.本程序能够实现日期与星期的查询。 1.2功能设计 本程序要构建的万年历程序,其功能有以下几个方面: (1)通过网页形式运行,实现图形界面。 (2)能以月历形式显示日期与星期。 (3)支持用户自己输入年份,并提供月份的下拉形式菜单来选择月份。 (4)通过点击"更新"来刷新日历。 2.概要设计 2.1程序设计思路 1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年, 该年的总天数为366,否则,为365。然后判断输入的年是否为定义年,若是,令总天 数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到 要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再 使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数 。 2. 输出月份第一天为星期几的算法:使总天数除以7取余加2得几既为星期几,若是7, 则为星期日。 3. 算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一 日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。 4. 如果年份小于1582年则程序不予判断。 2.2程序运行界面 2.3流程图 3.各模块的功能及程序说明 3.1.初始化组件 import java.awt.*; import java.util.*; 3.2.初始化数据 public class CalendarApplet extends Applet{ static final int TOP = 70; //顶端距离 static final int CELLWIDTH=50,CELLHEIGHT = 30; //单元格尺寸 static final int MARGIN = 3; //边界距离 static final int FEBRUARY = 1; TextField tfYear = new TextField("2004", 5); //显示年份的文本域 Choice monthChoice = new Choice(); //月份选择下拉框 Button btUpdate = new Button("更新"); //更新按钮 GregorianCalendar calendar=new GregorianCalendar(); //日历对象 Font smallFont = new Font("TimesRoman", Font.PLAIN, 15); //显示小字体 Font bigFont = new Font("TimesRoman", Font.BOLD, 50); //显示大字体 String days[] = {"星期日", "星期一", "星期二", "星期三","星期四", "星期五", "星期六"}; String months[
课 程 设 计 "题 目 "万年历 " "学 院 "计算机科学与信息工程学院 " "专 业 "计算机科学与技术 " "班 级 "09网络 " "学生姓名 " " "指导教师 " " "2012 "年"7 "月"14 "日 " " " " " " " " 目 录 言 3 1需求分析 3 1.1需求分析 3 1.2功能设计 3 2.概要设计 3 2.1程序设计思路 3 2.2程序运行界面 4 2.3流程图 5 3.各模块的功能及程序说明 6 3.1.初始化组件 6 3.2.初始化数据 6 3.3.绘制程序界面 7 4.测试分析 8 5.源程序清单 10 6.课程设计体会 18 参考文献 19 Java身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发 现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。 1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言 及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效 能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解 决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目在众多的支持Java 的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重 要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工 具。 1需求分析 1.1需求分析 本程序的要求为:1.使用图形用户界面;2.本程序能够实现日期与星期的查询。 1.2功能设计 本程序要构建的万年历程序,其功能有以下几个方面: (1)通过网页形式运行,实现图形界面。 (2)能以月历形式显示日期与星期。 (3)支持用户自己输入年份,并提供月份的下拉形式菜单来选择月份。 (4)通过点击"更新"来刷新日历。 2.概要设计 2.1程序设计思路 1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年, 该年的总天数为366,否则,为365。然后判断输入的年是否为定义年,若是,令总天 数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到 要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再 使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数 。 2. 输出月份第一天为星期几的算法:使总天数除以7取余加2得几既为星期几,若是7, 则为星期日。 3. 算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一 日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。 4. 如果年份小于1582年则程序不予判断。 2.2程序运行界面 2.3流程图 3.各模块的功能及程序说明 3.1.初始化组件 import java.awt.*; import java.util.*; 3.2.初始化数据 public class CalendarApplet extends Applet{ static final int TOP = 70; //顶端距离 static final int CELLWIDTH=50,CELLHEIGHT = 30; //单元格尺寸 static final int MARGIN = 3; //边界距离 static final int FEBRUARY = 1; TextField tfYear = new TextField("2004", 5); //显示年份的文本域 Choice monthChoice = new Choice(); //月份选择下拉框 Button btUpdate = new Button("更新"); //更新按钮 GregorianCalendar calendar=new GregorianCalendar(); //日历对象 Font smallFont = new Font("TimesRoman", Font.PLAIN, 15); //显示小字体 Font bigFont =

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧