Calendar calendar = Calendar.getInstance();
//getTime()方法是取得当前的日期,其返回值是一个java.util.Date类的对象
res.setResOpenDate(calendar.getTime());
int day = calendar.get(Calendar.DAY_OF_YEAR);
calendar.set(Calendar.DAY_OF_YEAR, day + 30);
//投票的有效期30天
res.setResEndDate(calendar.getTime());
² 具体说明
⑴Calendar是java.util.* 中的一个类,所以在使用前,我们要导入包java.util.*;
//产生一个日历类的对象,我们不能使用new Calendar()来构造实例,因为//Calendar的构造函数都是PRotected,也就是说,构造函数是保护成员。
⑵关于Calendar的Filed
在Calendar中定义了日历的各个成员,比如:年,月,日,包括不同的记录方法,比如:同一天(2005-12-14)来说,在记录的时候,我们可以说是一周中的周三,是12月的第14天,是2005年的第****(你可以自己算一下)天。这就是不同的记录方法,所以在Calendar中就有了不同的定义:
public final static int ERA = 0;
public final static int YEAR = 1;
public final static int MONTH = 2;
public final static int WEEK_OF_YEAR = 3;
public final static int WEEK_OF_MONTH = 4;
public final static int DATE = 5;
public final static int DAY_OF_MONTH = 5;
public final static int DAY_OF_YEAR = 6;
public final static int DAY_OF_WEEK = 7;
public final static int DAY_OF_WEEK_IN_MONTH = 8;
public final static int AM_PM = 9;
public final static int HOUR = 10;
public final static int HOUR_OF_DAY = 11;
public final static int MINUTE = 12;
public final static int SECOND = 13;
这些定义是不同记录方法的标识,在此我没有列举完全,感爱好的话你可以看一下Calendar的源代码。
这些就是Calendar的Field,根据你的不同需求就可以去处不同的Field,不同的记录方法也是不同的的Filed,这样应该是好理解一些。
有了这些,我们就可以取得你想要的任何需要的东西了,假如你想知道今天是一年中的哪一天,就可以用:
int day = calendar.get(Calendar.DAY_OF_YEAR);
参数就是你想取得的Field,所有的这些都在Calendar中定义好了。
结果会告诉我们2005-12-14是2005年的第348天。
然后你想知道30天后是几号呢?
calendar.set(Calendar.DAY_OF_YEAR, day + 30);
在这,你不需要去考虑12-14号加上30天是一月,是不是会出错,不会的,Calendar自己知道那一天是几月几号。
分享到:
相关推荐
标题提到的"实现日期加1的一个Date类"正是这样一个自定义的类,它允许用户对日期进行增加一天的操作,并且提供了设置日期的功能。以下是对这个Date类可能实现的详细说明: 首先,Date类通常会包含私有成员变量来...
使用 java.text.SimpleDateFormat 和 java.util.Date 实现日期加减 Java 中的 `SimpleDateFormat` 类和 `Date` 类也可以实现日期的加减操作。可以使用 `SimpleDateFormat` 类的 `format` 方法和 `Date` 类的 `...
这个函数可能需要包含一些数学运算,如求余数、加减法等,以适应不同节气的计算规则。 4. **封装为工具类**:为了方便使用,我们可以将这个功能封装成一个工具类,提供一个方法如`getSolarTerm(Date date)`,输入...
public String dateToStr(java.util.Date date) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String str = sdf.format(date); return str; } ``` 此方法将 `java.util.Date` 对象...
日期的计算,图书馆图书超期天数,日期加减法、date与String的转换
Java中的日期和时间是通过Date和Calendar类实现的。Java中的集合是指存储多个元素的容器,例如ArrayList、LinkedList等。 Java中的线程是指程序的执行路径,用于实现多任务处理。Java中的网络编程是指使用Java实现...
##### 10.5 Date和Calendar类 - 日期和时间的操作。 ##### 10.6 Math类 - 数学函数。 ##### 10.7 Random类 - 随机数生成。 #### 11. Java类加载机制和反射机制 ##### 11.1 Java类加载机制 - 类加载器负责将字节...
4. **加减法计算游戏**:此题要求实现一个具有不同难度级别的游戏,需要用到计时器和多级难度的逻辑。用户输入验证和游戏状态管理也是重点,可能涉及到线程同步。 5. **几何图形面积计算**:这里涉及面向对象编程,...
实例155 实现加减乘除的方法 240 8.3 面向对象的设计模式 241 实例156 Singleton单例模式 242 实例157 招聘(简单工厂模式) 243 实例158 同学聚会(工厂方法模式) 244 实例159 图书展(抽象...
实例155 实现加减乘除的方法 240 8.3 面向对象的设计模式 241 实例156 Singleton单例模式 242 实例157 招聘(简单工厂模式) 243 实例158 同学聚会(工厂方法模式) 244 实例159 图书展(抽象工厂模式) 246 实例160...
在 java 语言中,Java 程序的基本单位是类,也就是说:一个 Java 程序是由多个类组成 的。定义一个类与定义一个数据类型是有区别的。在程序设计语言中,把定义数据类型的能 力作为一种很重要的能力来对待。在面向...
- 如果需要计算两个时间之间的差值,可以使用`Date`对象的`getTime()`方法获取毫秒值,然后进行减法运算得到差值,再转换为所需的时间单位(如天、小时、分钟)。 在实际应用中,Java的时间操作还包括日期比较、...
实例155 实现加减乘除的方法 240 8.3 面向对象的设计模式 241 实例156 Singleton单例模式 242 实例157 招聘(简单工厂模式) 243 实例158 同学聚会(工厂方法模式) 244 实例159 图书展(抽象工厂...
5. **日期和时间**:Java提供java.util.Date和java.time包来处理日期和时间。在计算器中,我们可以利用这些类获取当前时间,并将其与计算过程一起存储。这需要理解日期时间的格式化和转换方法。 6. **文件I/O操作**...
通过数学加减法的操作实现了变量值的交换。 ### 2. 使用`Math.Random()`生成随机数 `Math.Random()`方法用于生成介于0到1之间的一个随机浮点数(包括0,但不包括1)。利用此特性,可以轻松地生成指定范围内的随机...
实例155 实现加减乘除的方法 240 8.3 面向对象的设计模式 241 实例156 Singleton单例模式 242 实例157 招聘(简单工厂模式) 243 实例158 同学聚会(工厂方法模式) 244 实例159 图书展(抽象工厂模式) 246 ...
本实验要求设计一个简单的日期类`Date`,并编写一个主程序来演示这个类的用法。日期类应该包含年、月、日等属性,并具备初始化、修改日期、返回日期描述字符串等功能。 - **关键知识点**: - 类的定义和属性的声明...
本报告书将深入探讨如何使用Java语言设计一个毫秒计算器,该计算器不仅能够执行基本的加、减、乘、除运算,还能处理更复杂的计算,如计算时间差并以毫秒为单位显示结果。 首先,我们需要理解Java的基础语法和面向...