问题的本身没有什么难度,但是要想一下子找到一个现成的方法还真不是那么容易,本来以为java.util.Date中会有方法结果找了半天没找到,最后还是在Calendar中找到了,记下别忘了!!
核心:使用Calendar的add(int field, int amount)方法
Calendar ca = Calendar.getInstance();//得到一个Calendar的实例
ca.setTime(new Date()); //设置时间为当前时间
ca.add(Calendar.YEAR, -1); //年份减1
Date lastMonth = ca.getTime(); //结果
同样,类似的,求前一月ca.add(Calendar.MONTH, -1),前一天ca.add(Calendar.DATE, -1)
=================补充=================
有朋友说“月份这样做是有问题的,比如当前时间是2009-12-31,你在月份上减1变成了2009-12-1”,我试了一下没有出现这样的问题,不过印象中好像确实有遇到过这样的情况,代码是怎么写的已经记不清了
Calendar ca = Calendar.getInstance();//得到一个Calendar的实例
ca.set(2009, 11, 31);//月份是从0开始的,所以11表示12月
Date now = ca.getTime();
ca.add(Calendar.MONTH, -1); //月份减1
Date lastMonth = ca.getTime(); //结果
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sf.format(now));
System.out.println(sf.format(lastMonth));
打印出来的结果是: 2009-12-31
2009-11-30
希望踩的朋友也能留下宝贵批评意见,也能使我从中有所收获不断进步,不甚感激!
分享到:
相关推荐
Java 根据用户指定的某年某月某日,判断这一天是一年中的第几天,具体思路是:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。这是一个...
输入某年某月某日,判断这一天是这一年的第几天 1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊 情况,闰年且输入月份大于3时需考虑多加一天。
java代码中,对时间的处理,如当前时间、前一天、前一个月、前一年等等,时间格式的改动等等。
若是,令总天 数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到 要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再 使总天数加1,否则,不加,既算出从定义...
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。 import java.util.Scanner; //题目:输入某年某月某日,判断这一天是这...
下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期 ,并能够选择背景图片): 备忘录主界面(实现备忘录的添加,及当前日历的显示): 备忘录主界面(实现...
若是,令总天 数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到 要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再 使总天数加1,否则,不加,既算出从定义...
" " " "2、实现日期与星期的查询 " "二、设计原始资料 " "1、显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查 " "询下一个月的日期。 " " " "2、定时提醒:用户可以针对某一天来添加,删除和编辑...
判断这一天是这一年的第几天、9*9口诀、猴子吃桃问题、两个乒乓球队组队、菱形、2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和、求200!大数阶乘、回文数、矩阵对角线元素之和、现输入一个数,要求按...
公历的平年只有365日,比回归年短约0.2422 日,每四年累积约一天,把这一天加于2月末(即2月29日),使当年时间长度变为366日,这一年就为闰年。 需要注意的是,现在的公历是根据罗马人的“儒略历”改编而得。由于...
题目:输入某年某月某日,判断这一天是这一年的第几天? 1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且 输入月份大于3时需考虑多加一天。 【程序15】 ...
2011年1月出版。 全书压缩打包成4部分,这是第3部分 注:本系列图书的第I、II卷再版时均相应改名为《xxx开发实例大全》(基础卷)及(提高卷),但内容基本无变化,需要的童鞋可自由匹配查找。 内容简介 《Java开发...
写一个函数,例如:给你的 a b c 则输出 abc acb bac bca cab cba import java.util.ArrayList; import java.util.List; public class NumTest { public static void main(String[] args) { String s="ABCD";...
个数如果恰好等于它的...输入某年某月某日,判断这一天是这一年的第几天?输入三个整数x,y,z,请把这三个数由小到大输出。输出9*9口诀。有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
时间WAV 根据时间(天,周,月,年)缝合或合并WAV音频文件请参阅以下原始WAV项目。 我目前正在修改上述项目,使其功能更加丰富。 而且,回头看一下,那段代码太糟糕了#去做重构深度嵌套的代码创建界面必要时重构类...
使用ANTLR之后,我在一天之内就完成了整个编译器前端的开发工作,从而能够迅速开始处理真正的业务逻辑。从那时起,我就被它强大的功能所深深吸引。简而言之,ANTLR能够解决别的工具无法解决的问题。 软件改变了...
一、填空 1.在多进程Oracle实例系统中,进程分为用户进程、后台进程和服务进程。 2.标准的SQL语言语句类型可以分为:数据定义语句(DDL)、数据操纵语句(DML)和数据控制语句(DCL)。 3.在需要滤除查询结果中重复的行...