java中时间操作函数
Java 中时间操作函数 Java 中对于时间操作的一些函数,应该在实际项目中经常会用到。下面将对其中的一些函数进行详细的介绍。 计算某一月份的最大天数 在 Java 中,可以使用 `Calendar` 对象来计算某一月份的最大天数。例如: ```java Calendar time = Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR, year); time.set(Calendar.MONTH, i-1); // 注意,Calendar 对象默认一月为 0 int day = time.getActualMaximum(Calendar.DAY_OF_MONTH); // 本月份的天数 ``` 在上面的代码中,我们首先获取了当前的 `Calendar` 对象,然后清除了所有的字段,然后设置了年份和月份。我们使用 `getActualMaximum` 方法来获取当前月份的最大天数。 Calendar 和 Date 的转化 在 Java 中,`Calendar` 和 `Date` 是两个不同的时间类型。`Calendar` 是一个抽象类,提供了对日期和时间的操作,而 `Date` 是一个具体的时间类型,表示一个特定的日期和时间。 (1) Calendar 转化为 Date 可以使用 `getTime` 方法将 `Calendar` 对象转化为 `Date` 对象: ```java Calendar cal = Calendar.getInstance(); Date date = cal.getTime(); ``` (2) Date 转化为 Calendar 可以使用 `setTime` 方法将 `Date` 对象转化为 `Calendar` 对象: ```java Date date = new Date(); Calendar cal = Calendar.getInstance(); cal.setTime(date); ``` 格式化输出日期时间 在 Java 中,可以使用 `SimpleDateFormat` 对象来格式化输出日期时间。例如: ```java Date date = new Date(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); System.out.println(df.format(date)); ``` 在上面的代码中,我们首先获取了当前的日期,然后使用 `SimpleDateFormat` 对象将日期格式化为 "yyyy-MM-dd hh:mm:ss" 的形式,最后输出结果。 计算一年中的第几星期 (1)计算某一天是一年中的第几星期 可以使用 `Calendar` 对象来计算某一天是一年中的第几星期: ```java Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 2006); cal.set(Calendar.MONTH, 8); cal.set(Calendar.DAY_OF_MONTH, 3); int weekno = cal.get(Calendar.WEEK_OF_YEAR); ``` (2)计算一年中的第几星期是几号 可以使用 `Calendar` 对象来计算一年中的第几星期是几号: ```java SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 2006); cal.set(Calendar.WEEK_OF_YEAR, 1); cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); System.out.println(df.format(cal.getTime())); ``` add() 和 roll() 的用法 (1)add() 方法 可以使用 `add` 方法来将某个日期增加或减少一定的时间。例如: ```java Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 2006); cal.set(Calendar.MONTH, 8); cal.set(Calendar.DAY_OF_MONTH, 3); cal.add(Calendar.DATE, -4); Date date = cal.getTime(); System.out.println(df.format(date)); cal.add(Calendar.DATE, 4); date = cal.getTime(); System.out.println(df.format(date)); ``` (2)roll 方法 可以使用 `roll` 方法来将某个日期增加或减少一定的时间,但它在本月内循环。例如: ```java cal.set(Calendar.YEAR, 2006); cal.set(Calendar.MONTH, 8); cal.set(Calendar.DAY_OF_MONTH, 3); cal.roll(Calendar.DATE, -4); date = cal.getTime(); System.out.println(df.format(date)); cal.roll(Calendar.DATE, 4); date = cal.getTime(); System.out.println(df.format(date)); ``` 计算两个任意时间中间的间隔天数 可以使用以下方法来计算两个任意时间中间的间隔天数: ```java public int getIntervalDays(Calendar startday, Calendar endday) { ... } ``` 这个方法可以将两个 `Calendar` 对象作为参数,然后计算它们之间的间隔天数。 Java 中提供了多种时间操作函数,可以满足不同的需求。在实际项目中,合理地使用这些函数可以提高开发效率和代码可读性。
剩余8页未读,继续阅读
- rekeke2012-10-18挺全面的,谢谢
- 粉丝: 0
- 资源: 17
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助