查过用Calendar。但没找到具体用法?请给出示例代码?谢谢
解决方案 »
- 我已经生成一个jar文件,如何自己改变该jar文件的图标?
- 感觉内存泄漏,用jProfiler看,说是replaceAll占用大量内存
- 我刚学完C,目前JAVA处于起跑阶段。是否合适学CCNA?
- 关于线程对资源独享的问题
- 请教NoClassDefFoundError错误是什么意思?
- JAVA软件怎么发布???
- 哪位大哥帮我解决IO效率问题!
- 给个自解压jar文件的代码给大家,我教学生的代码之一,排版不好,大家拷贝到eclipse即用
- 请问:如果用jar命令打包
- Swing:怎么样做一个不规则形状的Window
- 炒股的朋友来帮帮忙,我想抓取收盘价
- 请大家帮帮忙,我搞的那个JAVA程序设计实在是搞不动了,如果有吧友知道做法的请帮我自拍下!谢谢!
楼主【suncheng_hong】截止到2008-06-26 11:21:35的历史汇总数据(不包括此帖):
发帖数:84 发帖分:3570
结贴数:67 结贴分:2850
未结数:17 未结分:720
结贴率:79.76 % 结分率:79.83 %
楼主加油
根据日历的规则,为给定的日历字段添加或减去指定的时间量
用这个,减掉30天,然后getTime()得到Date就行了!
使用给定的 Date 设置此 Calendar 的时间。
GregorianCalendar gcNew=new GregorianCalendar();
gcNew.set(Calendar.MONTH, gcNew.get(Calendar.MONTH)-1);
Date dtFrom=gcNew.getTime();显示当前日期前一个月的日期
theCa.setTime(new Date());
theCa.add(theCa.DATE, -30);
Date date = theCa.getTime();
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等.
/**
* 得到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);
}
theCa.setTime(new Date());
theCa.add(theCa.DATE, -30);
Date date = theCa.getTime();正解
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);
/**
* 得到给定日期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){}
}