- 浏览: 42822 次
- 性别:
- 来自: 山东->北京
最新评论
-
lancezhcj:
我的配置文件在WEB-INF下的config文件夹下
配置文件在WEB-INF下的读取方式 -
davidx:
正则表达式
判断字符是否为中文
1.计算某一月份的最大天数
Calendar time = Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0 intday = time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数
注:在使用set方法之前,必须先clear一下,否则很多信息会继承自系统当前时间
2.Calendar和Date的转化
(1) Calendar转化为Date
Calendar cal = Calendar.getInstance(); Date date = cal.getTime();
(2) Date转化为Calendar
Date date = new Date(); Calendar cal = Calendar.getInstance(); cal.setTime(date);
3.格式化输出日期时间
Date date = new Date(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-ddhh:mm:ss"); System.out.println(df.format(date));
4.计算一年中的第几星期
(1)计算某一天是一年中的第几星期
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)计算一年中的第几星期是几号
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()));
输出:
2006-01-02
5.add()和roll()的用法
(1)add()方法
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); 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));
输出:
2006-08-30
2006-09-03
(2)roll方法
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));
输出:
2006-09-29
2006-09-03
可见,roll()方法在本月内循环,一般使用add()方法;
6.计算两个任意时间中间的间隔天数
(1)传进Calendar对象
/**计算两个时间之间相隔天数 * @param startday 开始时间 * @param endday 结束时间 * @return */ public int getIntervalDays(Calendar startday,Calendar endday){ //确保startday在endday之前 if(startday.after(endday)){ Calendar cal=startday; startday=endday; endday=cal; } //分别得到两个时间的毫秒数 long sl=startday.getTimeInMillis(); long el=endday.getTimeInMillis(); long ei=el-sl; //根据毫秒数计算间隔天数 return (int)(ei/(1000*60*60*24)); }
(2)传进Date对象
/**计算两个时间之间相隔天数 * @param startday 开始时间 * @param endday 结束时间 * @return */ public int getIntervalDays(Date startday,Date endday){ //确保startday在endday之前 if(startday.after(endday)){ Date cal = startday; startday = endday; endday = cal; } //分别得到两个时间的毫秒数 long sl = startday.getTime(); long el = endday.getTime(); long ei=el-sl; //根据毫秒数计算间隔天数 return (int)(ei/(1000*60*60*24)); }
同理,可以用相同的方法计算出任意两个时间相隔的小时数,分钟数,秒钟数等
注:以上方法是完全按时间计算,有时并不能令人满意,如:
startday="2006-10-11 20:00:00"
endday="2006-10-12 8:00:00"
计算结果为0,但是我们也许相让计算结果变为1,此时可以用如下方法实现:
在传参之前,先设定endday的时间,如:
endday.set(Calendar.HOUR_OF_DAY, 23); endday.set(Calendar.MINUTE, 59); endday.set(Calendar.SECOND, 59); endday.set(Calendar.MILLISECOND, 59);
这样再传进去startday,endday,则结果就如我们所愿了。不过,如果嫌以上方法麻烦,可以参考以下方法:
(3)改进精确计算相隔天数的方法
public int getDaysBetween (Calendar d1, Calendar d2){ if (d1.after(d2)){ // swap dates so that d1 is start and d2 is end java.util.Calendar swap = d1; d1 = d2; d2 = swap; } int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR); int y2 = d2.get(Calendar.YEAR); if (d1.get(Calendar.YEAR) != y2){ d1 = (Calendar) d1.clone(); do{ days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);//得到当年的实际天数 d1.add(Calendar.YEAR, 1); } while (d1.get(Calendar.YEAR) != y2); } return days; }
发表评论
-
日期操作函数
2008-12-04 15:16 1413import java.util.Date; import j ... -
判断字符是否为中文
2008-12-04 15:07 1126package cn.wangy.test; import ... -
System.getProperties()参数列表
2008-12-04 14:44 1467JAVA.version :JAVA运行时环境版本JAVA.v ... -
Class.forName()详解
2008-12-04 14:35 1615Class.forName(xxx.xx.xx) 返回的是一个 ... -
Java中使用MD5加密
2008-12-04 14:12 1122在各种应用系统的开发 ... -
Java文件操作大全
2008-12-04 13:50 844一.获得控制台用户输入的信息 /**获得控制台用户输入的信 ... -
泛型与反射
2008-12-04 13:31 1064我们知道,反射和泛型都是Java的一种动态技术。而不像继承和多 ... -
Java的多线程
2008-12-04 13:09 947一.实现多线程1. 虚假的多线程例1: public clas ... -
线程的wait(),notify()例子
2008-12-04 13:01 2391package cn.wangy; class Produc ... -
共5次每隔2秒检查指定文件是否存在 读取并强制删除
2008-12-04 12:56 1594package cn.wangy.io; import ja ... -
String和InputStream的转换
2008-12-04 12:33 19331. String --> InputStream I ... -
Java学习杂谈(10)
2008-12-04 12:28 838今天的主题是目前很流行也很好的一个开源框架-Spring。 ... -
Java学习杂谈(9)
2008-12-04 12:27 739J2ee的开源框架很多,笔 ... -
Java学习杂谈(8)
2008-12-04 12:25 807终于正式进入J2ee的细节部分了,首当其冲的当然是Servle ... -
Java学习杂谈(7)
2008-12-04 12:24 700终于又静下来继续写这 ... -
Java学习杂谈(6)
2008-12-04 12:18 5201. Java中的RMI机制 RMI的全称是远程方法调 ... -
Java学习杂谈(5)
2008-12-04 12:13 7121. Java关于XML的解析 ... -
java的几种对象(PO,VO,DAO,BO,POJO)解释
2008-12-04 12:10 461一、PO:persistant object 持 ... -
Java学习杂谈(4)
2008-12-04 12:06 739第三篇讲的是反射机制集合框架之类的,这次打算讲讲自己对反序 ... -
Java学习杂谈(3)
2008-12-04 12:05 7851. 关于Object类理解 ...
相关推荐
在提供的文件`www_elanso_com.mht`中,可能包含了一些具体的Java日期时间操作的实例代码,包括但不限于上述介绍的功能。MHT文件是单一网页档案,通常用来保存网页的完整内容,包括HTML、图像和其他资源。如果这个...
Java 中时间操作函数 Java 中对于时间操作的一些函数,应该在实际项目中经常会用到。下面将对其中的一些函数进行详细的介绍。 计算某一月份的最大天数 在 Java 中,可以使用 `Calendar` 对象来计算某一月份的最大...
根据给定的文件信息,...以上就是对Java日期类函数方法的整理和解释,涵盖了基本的日期操作,包括日期的格式化、解析、转换以及年份和月份的获取等。掌握这些函数和方法,能够帮助开发者更高效地处理日期相关的任务。
Java日期操作函数详解 Java语言中日期操作函数是非常重要的一部分,日期操作函数可以帮助开发者快速获取和处理日期相关的信息。本文将对Java日期操作函数进行详细的介绍和分析。 1. 日期操作函数的基本概念 在...
### Java日期函数示例 #### 一、Java日期与时间元素表示法 Java 提供了丰富的日期和时间处理功能,其中 `SimpleDateFormat` 类用于格式化和解析日期字符串。下面是一些常用的时间元素及其对应的表示方式: - **G*...
一个Java 日期时间操作函数集 DateUtil.java代码,用于时间和日期操作的工具类,DateUtil类包含了标准的时间和日期格式,以及这些格式在字符串及日期之间转换的方法,格式化后的系统当前时间,如果有异常产生,返回...
在Java编程语言中,日期和时间的处理是常见的任务,涉及到很多实用的函数。本文将深入探讨`java.util.Date`类以及与其相关的日期格式化函数的使用方法,并通过实例进行详细解析。 首先,我们了解`java.util.Date`是...
### Java时间操作函数详解 #### 一、计算某一月份的最大天数 在Java中,`Calendar`类提供了获取特定月份最大天数的功能。这在处理日期逻辑时非常有用,例如判断一个月份有多少天。 ```java Calendar time = ...
在Java编程语言中,函数是实现特定功能的代码块,可以被多次调用。下面将分别介绍标题和描述中提到的一些重要函数,并结合压缩包内的文件名称,详细讲解相关类和方法。 1. **BSDate.java**: 这个文件很可能包含了...
### Java中关于时间日期操作的常用函数 #### 1. 计算某一月份的最大天数 在Java中,可以通过`Calendar`类来获取指定月份的最大天数。这在处理诸如日历显示、日期验证等场景时非常有用。 ```java Calendar time = ...
2. **字符串处理**:String类是Java中常用的一个类,包含大量的字符串操作函数,如substring()、indexOf()、concat()等。 3. **集合框架**:包括List、Set、Map等接口及其实现类如ArrayList、HashSet、HashMap。速...
Java函数涵盖了类库中的各种方法,包括但不限于基础数据类型的操作、集合框架、IO流、多线程、网络编程、反射、异常处理等。例如,`Math`类提供了许多数学运算函数,如`sqrt()`用于计算平方根,`random()`用于生成...
Joda-Time是Java领域广泛使用的日期时间处理库,它的设计目标是替代Java标准库中的日期和时间API,因为后者在设计上存在一些问题,如可读性差、易用性不足等。Joda-Time提供了丰富的类和方法,使得日期时间的计算、...
在Java编程语言中,处理日期和时间是一项常见的任务。Java提供了多种工具类来帮助开发者进行日期时间的操作,其中最常用的是`java.util.Date`、`java.util.Calendar`以及`java.time`包中的类。本篇将重点介绍Java...
9. **日期和时间API**:Java 8引入了新的日期和时间API(java.time包),如`LocalDate`、`LocalTime`和`LocalDateTime`,提供了更加友好的日期和时间操作,如`plusDays()`增加天数,`parse()`解析日期字符串,以及`...
在Java编程语言中,函数API(Application Programming Interface)是一组预先定义的方法,允许开发者执行特定任务,如数据处理、输入/输出操作等。本篇文章将深入探讨Java中一些常用的函数API,尤其是那些在日常开发...
Java 8是一个重要的Java语言版本,它引入了对函数式编程的支持,极大地提升了代码的简洁性和可读性,特别是对于集合操作。函数式编程是一种编程范式,它将计算视为函数的组合,而不是状态的改变或控制流程。在Java 8...
Java函数包API是Java开发中的核心组成部分,它包含了大量预定义的类和接口,为开发者提供了丰富的功能,便于构建各种应用程序。这些API覆盖了输入输出、网络通信、数据处理、图形用户界面(GUI)等多个领域,是Java...
本篇将深入讲解Java中涉及字符串、包装类、日期处理、基础数学操作以及其他实用工具类的相关函数,以及GUI组件如文本框、文本区、按钮和标签的使用。 首先,我们关注字符串处理。Java中的`String`类提供了丰富的...
通过以上详细的介绍,我们可以看到Java API中包含了丰富的文件操作和进程间通信相关的函数,这些函数为Java开发者提供了强大的工具,使得他们能够更加高效地完成各种任务。深入理解和熟练运用这些API,不仅能够提升...